Gitlab 升級方案
阿新 • • 發佈:2020-09-11
Gitlab 升級方案
公司有臺Gitlab
伺服器使用的是9.0.0
版本,現要將其遷移到新的伺服器,為了使用最新的功能,要將其升級。
為了便於維護,我們使用docker
安裝,使用docker
安裝gitlab
非常容易,官網上只要一行命令.
sudo docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish 22:22 \ --name gitlab \ --restart always \ --volume $GITLAB_HOME/config:/etc/gitlab \ --volume $GITLAB_HOME/logs:/var/log/gitlab \ --volume $GITLAB_HOME/data:/var/opt/gitlab \ gitlab/gitlab-ee:latest
我們使用docker-compose
的方式安裝,檔案如下
version: "3" services: gitlab: image: gitlab/gitlab-ce:9.0.0-ce.0 # image: gitlab/gitlab-ce:9.5.10-ce.0 # image: gitlab/gitlab-ce:10.8.7-ce.0 # image: gitlab/gitlab-ce:11.11.8-ce.0 # image: gitlab/gitlab-ce:12.10.14-ce.0 # image: gitlab/gitlab-ce:13.3.5-ce.0 restart: always environment: GITLAB_OMNIBUS_CONFIG: | nginx['listen_port'] = '80' nginx['listen_https'] = false registry_nginx['listen_port'] = '80' registry_nginx['listen_https'] = false gitlab_rails['lfs_enabled'] = true gitlab_rails['registry_enabled'] = true gitlab_rails['gitlab_shell_ssh_port'] = 2222 ports: - 80:80 - 2222:2222 volumes: - /opt/gitlab/config:/etc/gitlab - /opt/gitlab/logs:/var/log/gitlab - /opt/gitlab/data:/var/opt/gitlab - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro
從老的伺服器上備份,拷貝到新的機器上恢復資料
sudo cp ~/backups/1596417964_2020_08_03_gitlab_backup.tar /opt/gitlab/data/backups/
sudo docker-compose exec gitlab gitlab-rake gitlab:backup:restore
-
從
9.0.0
->9.5.10
,使用docker
安裝,匯入備份,完成。 -
修改
docker-compose.yml
中的gitlab image
版本,docker-compose up -d
啟動,每升級一個版本號做一次備份,升級路線9.0.0-ce.0->9.5.10-ce.0->10.8.7-ce.0->11.11.8-ce.0->12.10.14-ce.0->13.3.5-ce.0
sudo docker-compose exec gitlab gitlab-rake gitlab:backup:create
按此流程下來,可以一路刷到最新版。
域名,埠的問題
接下來還有域名和埠的問題,因為我們是內網環境,伺服器沒有獨立的外網IP,需要使用閘道器做HTTP代理,如何解決將在後面再講。
CI/CD
後面再講如何使用gitlab
完成CI/CD