Migrasi GitLab antar server

Berdasarkan kisah nyata, menggunakan GitLab versi selfhosted. Somehow, server saat ini kena masalah, so harus dipindah ke server cadangan. Intinya, disini Saya mau coba share pengalaman pribadi tentang memindahkan GitLab dari server ke server lainnya.

Sebelum itu, syarat utamanya adalah: GitLab yang terinstall dikedua server haruslah sama versinya.

Saya asumsikan bahwa kalian sudah memiliki 2 server, dan keduanya sudah terinstall GitLab yang versinya sama. Jika belum sama, silahkan diupdate terlebih dahulu GitLabnya ya.

Oke, langkah pertama adalah backup GitLab yang akan dipindahkan, tapi sebelumnya kita harus stop beberapa server untuk memastikan tidak ada aktivitas pada server, supaya data yang dibackup adalah benar yang paling terakhir.

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:create

File backup yang dibuat tadi, bisa ditemukan dilokasi berikut: /var/opt/gitlab/backups/XXXXXXXXX_gitlab_backup.tar. Kalau tidak ada disini, ada kemungkinan kalian melakukan instalasi GitLab pada folder yang berbeda. Selanjutnya, file backup ini kita transfer ke server baru, caranya seperti apa? itu saya kembalikan kepada kalian. Mau didownload kemudian diupload, atau langsung download dari server baru dengan wget, atau apapun itu yang menurut kalian paling eficient ya.

Yang paling penting, file backup tadi sebisa mungkin disave dilokasi berikut: /var/opt/gitlab/backups/

Sama halnya ketika kita melakukan backup, untuk melakukan restore pun, harus ada beberapa service yang harus kita stop terlebih dahulu.

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore BACKUP=XXXXXXXXX

XXXXXXXXX adalah nama file backup yang baru saja didownload/upload dari server lama. Untuk selanjutnya, jika proses restore tidak ada kendala, kita bisa melanjutkan ke prosesnya yaitu jalankan kembali service yang kita stop tadi, atau kita bisa inisiasi restart GitLab. Ada perintah tambahan juga untuk melakukan pengecekan file yang baru kita transfer.

gitlab-ctl restart
gitlab-rake gitlab:check SANITIZE=true

Biasanya butuh waktu beberapa menit setelah perintah restart diberikan, tergantung dari kemampuan server. Sampai saat ini, harusnya server GitLab sudah bisa digunakan sebagaimana mestinya.

Sekian share dari saya, semoga bermanfaat.

Terimakasih.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.