วิธี Backup Gitlab แล้วส่งไปที่ Space บน Digitalocean
27 ก.ค. 61 , 06:05

เนื่องจากได้กลับมาใช้ gitlab อีกครั้ง ก็เลยจะทำ backup ซะหน่อย ไปอ่านๆ  doc มันดู ปรากฏว่า มัน bacup local ธรรมดาได้แล้ว ยังส่งขึนไปบน space ของ digitalocean ได้อีกด้วย

เริ่มจาก ไปของ API key ของ Sapce ก่อน ไปที่หน้าเว็บ

https://cloud.digitalocean.com/account/api/tokens
แล้วกดปุ่ม Generate New Key ได้เลยครับ มันจะได้ Key และ Secret มา ให้ก๊อปเก็บไว้ (รู้สึกว่า Secret จะดูไม่ได้อีกรอบนะครับ ต้อง เจนใหม่)

จากนั้นเปิดไฟล์ config gitlab ที่ /etc/gitlab/gitlab.rb แก้ตรง

จุดสำคัญๆ มีดังนี้ครับ

endpoint ตรงนี้ต้องไปดูที่ Space > Setting ของเราว่า มันชี้ไปที่ไหน จากนั้นก็ก๊อปมาเลยแบบในรูป



เมื่อได้ endpoint แล้ว ตรง subdomain ข้างหน้าจะเป็น region ก็เอาไปใส่ให้ตรงกันครับ (อย่างในตัวอย่างมันคือ sgp1)

__API_KEY__ และ __API_SECRET__ ก็คือ อันที่เราได้มาจากการ Generate Key ในขั้นตอนก่อนหน้านี้

ตรง backup_upload_remote_directory อันนี้ ใส่ชื่อ Space ของเรา

จากนั้น ก็สั่ง gitlab-ctl reconfigure เพื่อ restart gitlab

แล้วก็ลอง backup ดูด้วยคำสั่ง gitlab-rake gitlab:backup:create ถ้ามันใช้ได้ ก็จะขึ้นแบบนี้



คือไอ้ตอนแรก พอลองดู มันดันอัพไปที่ root ของ Space เรา ผมก็หาวิธีอยู่ตั้งนาน ไอ้ backup_upload_remote_directory ชื่อมันบอกว่า เป็น directory แต่จริงๆ ก็ไม่ใช่ มันคือ bucket name ต่างหาก จะใส่เป็น name/path/to/folder ก็ไม่ได้

สรุปว่า ตอนสั่ง backup ให้เพิ่มไปแบบนี้ครับ

จบ