วิธี Backup Gitlab แล้วส่งไปที่ Space บน Digitalocean

A
<p>เนื่องจากได้กลับมาใช้ gitlab อีกครั้ง ก็เลยจะทำ backup ซะหน่อย ไปอ่านๆ&nbsp; doc มันดู ปรากฏว่า มัน bacup local ธรรมดาได้แล้ว ยังส่งขึนไปบน space ของ digitalocean ได้อีกด้วย</p> <h2>มาเริ่มกันเลย</h2> <p>เริ่มจาก ไปของ API key ของ Sapce ก่อน&nbsp;ไปที่หน้าเว็บ&nbsp;<a href="https://cloud.digitalocean.com/account/api/tokens">https://cloud.digitalocean.com/account/api/tokens</a>&nbsp;แล้วกดปุ่ม Generate New Key ได้เลยครับ มันจะได้ Key และ Secret มา ให้ก๊อปเก็บไว้ (รู้สึกว่า Secret จะดูไม่ได้อีกรอบนะครับ ต้อง เจนใหม่)</p> <p>จากนั้นเปิดไฟล์ config gitlab ที่&nbsp; <code>/etc/gitlab/gitlab.rb</code> &nbsp;แก้ตรง</p> <pre class="language-bash"><code>gitlab_rails['backup_upload_connection'] = { 'provider' =&gt; 'AWS', 'region' =&gt; 'sgp1', 'aws_access_key_id' =&gt; '__API_KEY__', 'aws_secret_access_key' =&gt; '__API_SECRET__', 'endpoint' =&gt; 'https://sgp1.digitaloceanspaces.com' } gitlab_rails['backup_upload_remote_directory'] = '__NAME__'</code></pre> <p>จุดสำคัญๆ มีดังนี้ครับ</p> <ol> <li>endpoint ตรงนี้ต้องไปดูที่ Space -&gt; Setting ของเราว่า มันชี้ไปที่ไหน จากนั้นก็ก๊อปมาเลยแบบในรูป<br /><img src="/usercontents/image/NVZuaExnWHpTY1FvZUdndjZETklzUE1Id0tyODVJRkFiK3hHTlhmZWtoVTVsc3phNUE3dFowbDdSQ2htcjF4bWNyRGZvZ2oraUVYZW9QM3h2NjlZc1E9PQ,," /></li> <li>เมื่อได้ endpoint แล้ว ตรง subdomain ข้างหน้าจะเป็น region ก็เอาไปใส่ให้ตรงกันครับ (อย่างในตัวอย่างมันคือ sgp1)</li> <li>__API_KEY__ และ&nbsp;__API_SECRET__ ก็คือ อันที่เราได้มาจากการ&nbsp;Generate Key ในขั้นตอนก่อนหน้านี้</li> <li>ตรง <code>backup_upload_remote_directory</code> &nbsp;อันนี้ ใส่ชื่อ Space ของเรา</li> </ol> <p>จากนั้น ก็สั่ง <code>gitlab-ctl reconfigure</code> &nbsp;เพื่อ restart gitlab</p> <p>แล้วก็ลอง backup ดูด้วยคำสั่ง <code>gitlab-rake gitlab:backup:create</code> &nbsp;ถ้ามันใช้ได้ ก็จะขึ้นแบบนี้</p> <p><img src="/usercontents/image/NVZuaExnWHpTY1FvZUdndjZETklzUE1Id0tyODVJRkFiK3hHTlhmZWtoVThKUXdjSWxJanpjMjYvN2ZGR0hxRTFhOHE1SjBmVGxJOTd0dG1TeHdzc3c9PQ,," /></p> <h2>อยากอัพไปแล้วไปอยู่ใน Folder ที่ต้องการใน Space ทำไง</h2> <p>คือไอ้ตอนแรก พอลองดู มันดันอัพไปที่ root ของ Space เรา ผมก็หาวิธีอยู่ตั้งนาน ไอ้ <code>backup_upload_remote_directory</code> &nbsp;ชื่อมันบอกว่า เป็น directory แต่จริงๆ ก็ไม่ใช่ มันคือ bucket name ต่างหาก จะใส่เป็น&nbsp; name/path/to/folder&nbsp; ก็ไม่ได้</p> <p>สรุปว่า ตอนสั่ง backup ให้เพิ่มไปแบบนี้ครับ</p> <pre class="language-bash"><code>gitlab-rake gitlab:backup:create DIRECTORY=path/to/folder</code></pre> <p>จบ</p>
INFO
Beta Version v20.12.15 : ขออภัยเว็บกำลังก่อสร้าง (อีกแล้ว) แต่คราวนี้กำลังสร้างจริงจังละ