一:docker 方式安装gitlab
用docker来安装比较方便简单,包括版本升级也会变得更简单。
1、拉取gitlab镜像
gitlab-ce表示的是社区免费版本
docker pull gitlab/gitlab-ce:latest
2、创建映射文件
mkdir-p /data/docker/gitlab/etc
mkdir-p /data/docker/gitlab/log
mkdir-p /data/docker/gitlab/data
etc映射保存配置文件,log 存储日志,data存储数据文件
3、运行gitlab容器
docker run \--detach\--privileged=true \--hostname125.74.48.123 \--publish443:443 --publish8080:8080 --publish5000:22 \--name mygitlab \--restart unless-stopped \--volume /data/docker/gitlab/etc:/etc/gitlab \--volume /data/docker/gitlab/log:/var/log/gitlab \--volume /data/docker/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
- hostname : 安装服务的ip
- publish 443:443 https的端口,左边是宿主机对外端口,右边是容器内端口
- publish 8080:8080 http访问的端口。左边是宿主机对外端口,右边是容器内端口
- publish 5000:22 ssh方式下载对应的端口,左边是宿主机对外端口,右边是容器内端口 注意,要用http方式连接,publish 8080:8080 前后两个端口需要一样。
容器启动后,还需要做配置调整
二、gitlab相关配置
1、配置容器中/etc/gitlab/gitlab.rb的配置文件
因为我们已经把容器的/etc目录映射到了本机的/data/docker/gitlab/etc 这个目录,我们打开
/data/docker/gitlab/etc//gitlab/gitlab.rb 这个文件就可以修改
修改的内容如下:
external_url 'http://125.74.48.123'#ssh连接的端口
gitlab_rails['gitlab_shell_ssh_port']=5000#http 访问的端口
nginx['listen_port']=8080#备份文件保留的时长,单位是秒
gitlab_rails['backup_keep_time']=604800
修改配置后重启容器
访问http://125.74.48.123:8080/users/sign_in 就可以打开页面了
初始账户: root 密码:5iveL!fe,进入就会让你修改密码
2、/var/opt/gitlab/gitlab-rails/etc/gitlab.yml 文件配置
当时我已经创建了项目,在项目详情页复制了项目地址,一直下载不下来,发现详情页显示的没有带端口号,实际克隆的时候需要端口号的,如:http://125.74.48.123:8080/root/test_project.git .
这个是要我们要/var/opt/gitlab/gitlab-rails/etc/gitlab.yml的端口
首先进入容器:
dockerexec-it gitlab的容器id /bin/bash
vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
将文件中的port改成8080
host: localhost
port: 8080
https: false
在容器中执行:
gitlab-ctl restart
注意这里的命令是restart不是 reconfigure(根据配置文件/etc/gitlab/gitlab.rb 重新生成配置) ,否则还会恢复原来的配置。只要执行了gitlab-ctl reconfigure,gitlab.yml中的端口配置就会被还原。
所以如果你重启了容器之后,那这里的端口就又需要改一遍。
重启后退出容器
●先按,ctrl+p
●再按,ctrl+q
三、做定时备份
docker方式安装的执行备份的命令:
dockerexec mygitlab gitlab-backup create #mygitlab是容器名称
添加定时任务:
crontab -e 在文本中添加下面内容:
0231 * * dockerexec mygitlab gitlab-backup create
比如我这个是每个月1号的23点开始备份,这个多久备份一次根据自己的需求来设置。
四、还原备份
1、进入到备份目录:/data/docker/gitlab/data/backups
备份发文如下:
执行备份命令:
gitlab-rake gitlab:backup:restore BACKUP=1685631631_2023_06_01_14.10.4
注意这里不要带_gitlab_backup.tar后缀,还原的时候版本需要是一致的
五、版本升级
版本升级是有路线的,要按照对应的版本升级,查看网站 https://docs.gitlab.com/ee/update/#upgrade-paths
下载到对应的版本镜像,比如我现在的是14.0.12 我要升级到14.3.6
1、下载14.3.6的镜像
docker pull gitlab/gitlab-ce:14.3.6-ce.0
2、将现在的运行的容器停止
docker stop gitlab的容器id
3、删除现在的容器
dockerrm gitlab的容器id
4、重新运行14.3.6镜像的容器
docker run \--detach\--privileged=true \--hostname125.74.48.123 \--publish443:443 --publish8080:8080 --publish5000:22 \--name mygitlab \--restart unless-stopped \--volume /data/docker/gitlab/etc:/etc/gitlab \--volume /data/docker/gitlab/log:/var/log/gitlab \--volume /data/docker/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:14.3.6-ce.0
5、容器启动后验证登录是否正常。
版权归原作者 javascript_good 所有, 如有侵权,请联系我们删除。