
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
那些xml文件是分支配置的文件,使用的话直接init 后再sync就可以了repo init git地址 -b 分支名 -m xml文件名
repo sync
如果要将本地代码回到某个历史版本直接checkout 或者 reset
checkout 支持将文件切换到历史版本,数据库不会修改,还可以回到你最新的状态
reset 是直接回退带指定版本,它有两种模式 一种是只将所有提交回退,修改还在,还有一种模式是完全回退,修改直接就没了。
repo forall -c git chekout 指定节点的哈希值
repo forall -c git reset 指定节点的哈希值
repo forall -c git reset 指定节点的哈希值 --hard (此 *** 作会回退掉指定节点之后的所有修改,如果回退出错 只能重新跟服务器同步了。)
希望我的回答能帮助你
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)