文章出處

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

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜

    大師兄 發表在 痞客邦 留言(0) 人氣()