GitLab的數據庫用的是PostgreSQL,之前由于阿里云RDS不支持PostgreSQL,只能將GitLab的數據庫部署在云服務器上。
6月1日得知阿里云推出了PostgreSQL RDS,于是立馬將GitLab的數據庫遷移至PostgreSQL RDS。
下面分享一下遷移的主要操作步驟:
1)在GitLab服務器上備份GitLab數據庫
操作命令:
sudo gitlab-rake gitlab:backup:create SKIP=db
注:這個命令原本是只備份數據庫,但實際運行時也會備份repositories,可以在完成數據庫備份時,ctrl+C直接退出。
數據庫備份成功后,會在 /var/opt/gitlab/backups/db 文件夾中看到 database.sql 文件,導入時只需將這個文件導入到阿里云RDS。
2)在阿里云RDS中創建GitLab的數據庫帳戶與數據庫
在阿里云RDS控制臺首頁點擊“登錄數據庫”,進入idb.rds.aliyun.com,選擇對應的PostgreSQL實例。
a)創建2個帳戶:gitlab, gitlab-psql
b)創建gitlabhq_production數據庫,所有者為gitlab。
3) 在GitLab服務器上進行導入操作
a) cd /var/opt/gitlab/backups/db
b) psql -h [RDS實例網址] -p 3433 -d gitlabhq_production -U gitlab -f database.sql
導入成功時的控制臺輸出:
... CREATE INDEX psql:database.sql:5084: WARNING: no privileges could be revoked for "public" REVOKE psql:database.sql:5085: WARNING: no privileges could be revoked for "public" REVOKE psql:database.sql:5086: WARNING: no privileges were granted for "public" GRANT psql:database.sql:5087: WARNING: no privileges were granted for "public" GRANT
4)修改GitLab的配置
a)打開配置文件
vi /etc/gitlab/gitlab.rb
b)修改如下設置
設置PostgreSQL RDS數據庫連接
gitlab_rails['db_username'] = "gitlab" gitlab_rails['db_password'] = 帳戶密碼 gitlab_rails['db_host'] = RDS實例網址 gitlab_rails['db_port'] = 3433
禁用本地PostgreSQL
postgresql['enable'] = false
啟用新設置
gitlab-ctl reconfigure
文章列表
留言列表