文章目录
1、官网
1.1、说明
Gitlab 有 EE (商业版本, 收费) CE (社区版本, 免费).
1.2、官方提供的下载及安装方法(社区版本, 免费)
不同操作系统、环境的下载及安装方法。
PS : 本文中使用的是 Docker ,在该页面也可找到对应的说明。
2、安装
2.1、Docker
2.1.1、说明
PS : 收费版拉取版本选择
2.1.2、安装文档
2.1.3、通过 Docker 安装步骤
操作系统 : CentOS Linux release 7.6.1810 (Core)
操作系统安装包:CentOS-7-x86_64-Minimal-1708.iso
2.1.3.1、安装 Docker
yum -y install docker
2.1.3.2、拉取镜像
docker pull gitlab/gitlab-ce:13.12.4-ce.0
PS : 镜像比较大,Docker Hub 显示 938.29 MB,docker images 显示 2.25 GB。
2.1.3.3、设置变量
# 创建目录
mkdir -p /srv/gitlab
# 设置变量
# 临时生效,重启则失效。(不推荐)
# export GITLAB_HOME=/srv/gitlab
# 编辑文件
vi /etc/profile
# 增加配置
GITLAB_HOME=/srv/gitlab
export GITLAB_HOME
# 退出文件编辑,另配置生效
source /etc/profile
# 测试是否设置成功
echo $GITLAB_HOME
2.1.3.4、启动容器
docker run --detach --publish 443:443 --publish 80:80 --publish 10022:22 --name gitlab --privileged=true --restart always --volume $GITLAB_HOME/config:/etc/gitlab:Z --volume $GITLAB_HOME/logs:/var/log/gitlab:Z --volume $GITLAB_HOME/data:/var/opt/gitlab:Z gitlab/gitlab-ce:13.12.4-ce.0
PS : 22 端口用于操作系统远程,所以改为 10022。
初始化的时间可能比较长(大概8分钟左右),可以查看日志,确认安装过程正常。
docker logs -f gitlab
安装完成界面,设置登录密码(注意 : 不兼容 IE)
登录页面如下:
账户名 : root
密码即为刚设置的。登录之后显示的页面如下
安装完成!
PS : IE 浏览器存在兼容性问题,请不要使用。
3、备份
# docker exec -t <container name> gitlab-backup create
docker exec -t gitlab gitlab-backup create
# 结果中会显示
# Creating backup archive: 1627628273_2021_07_30_13.12.8_gitlab_backup.tar ... done
需要注意 :
Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data
and are not included in this backup. You will need these files to restore a backup.
Please back them up manually.
gitlab.rb 、 gitlab-secrets.json 所在的目录(建议整个目录备份)
/srv/gitlab/config
官方提供的备份方案。
4、恢复
官方示例
# Stop the processes that are connected to the database
docker exec -it <name of container> gitlab-ctl stop puma
docker exec -it <name of container> gitlab-ctl stop sidekiq
# Verify that the processes are all down before continuing
docker exec -it <name of container> gitlab-ctl status
# Run the restore
docker exec -it <name of container> gitlab-backup restore BACKUP=11493107454_2018_04_25_10.6.4-ce
# Restart the GitLab container
docker restart <name of container>
# Check GitLab
docker exec -it <name of container> gitlab-rake gitlab:check SANITIZE=true
测试
# Stop the processes that are connected to the database
docker exec -it gitlab gitlab-ctl stop puma
docker exec -it gitlab gitlab-ctl stop sidekiq
# Verify that the processes are all down before continuing
docker exec -it gitlab gitlab-ctl status
# Run the restore
docker exec -it gitlab gitlab-backup restore BACKUP=1627628273_2021_07_30_13.12.8
# Restart the GitLab container
docker restart gitlab
# Check GitLab
docker exec -it gitlab gitlab-rake gitlab:check SANITIZE=true
PS : 记不住备份的名字,可以去容器目录 /var/opt/gitlab/backups 中查找。
docker exec -it gitlab ls /var/opt/gitlab/backups
5、升级
升级前请提前做好备份,安全第一,代码无价!!!
建议 : 复制整个环境,升级好之后,再切换。避免出现事故,造成 git 上面的数据丢失!!!
拉取升级镜像(注意 : 不适用于大版本升级。大版本升级请参考。)
PS : 官方对于版本的定义。
docker pull gitlab/gitlab-ce:13.12.8-ce.0
停止已经启动的容器
docker stop gitlab
启动容器
docker run --detach --publish 443:443 --publish 80:80 --publish 10022:22 --name gitlab_13.12.8 --privileged=true --restart always --volume $GITLAB_HOME/config:/etc/gitlab:Z --volume $GITLAB_HOME/logs:/var/log/gitlab:Z --volume $GITLAB_HOME/data:/var/opt/gitlab:Z gitlab/gitlab-ce:13.12.8-ce.0
查看日志
docker logs -f gitlab_13.12.8
删除之前启动的容器(推荐 : 不删除,作为备份使用。如果一定要删除,安全第一,成功启动了新的容器,再删除。)
# 推荐不删除,作为备份。硬盘没空间的时候再删除。
# docker rm gitlab
总结
知道 Docker 如何使用,安装过程还是相对比较简单的。