​​​​​​        GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对group和project两个维度进行代码和文档管理, 其中group是群组, project是工程项目, 一个group可以管理多个project, 可以理解为一个群组中有多项软件开发任务, 而一个project中可能包含多个branch, 意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并。

1. 导入GitLab的Docker镜像

外网pull最新gitlab镜像,并导出

docker pull gitlab/gitlab-ce:latest

docker save -o gitlab-ce.tar

docker镜像导入

docker load -i gitlab-ce.tar

2. Docker启动GitLab

创建gitlab数据目录:mkdir gitlab

docker run -d -p 8443:443 -p 8090:80 -p 222:22 --name gitlab  -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

 

登录:http://127.0.0.1:8090

默认用户:root

默认密码:cat gitlab/config/init_gitlab_root

3. 修改Gitlab配置

修改配置gitlab/config/gitlab.rb

external_url 'http://10.40.24.32:8090'

gitlab_rails['gitlab_shell_ssh_port'] = 222

重启gitlab:

docker restart gitlab

    1. 服务启停命令

启动:docker start gitlab

停止:docker stop gitlab

    1. 数据备份及恢复

Gitlab有自带的gitlab-rake命令进行数据备份

gitlab-rake gitlab:backup:create

备份文件默认存在/var/opt/gitlab/backups/目录下,可以在配置文件中找到gitlab_rails[‘backup_path’]配置项,修改为指定的备份目录。

恢复之前需要先停止gitlab数据服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

恢复gitlab仓库

# 进入/var/opt/gitlab/backups/目录下,需要给备份文件包添加777权限,否则恢复不了。例如备份文件包:1709186642_2024_02_29_14.8.2-jh_gitlab_backup.tar

chmod 777 1709186642_2024_02_29_14.8.2-jh_gitlab_backup.tar

# 使用gitlab-rake命令恢复数据

gitlab-rake gitlab:backup:restore BACKUP= 1709186642_2024_02_29_14.8.2-jh

# 注意:备份文件包以_gitlab_backup.tar结尾,BACKUP无需加_gitlab_backup.tar。备份文件名中含有gitlab的版本号,新的服务器上需要安装相同版本的gitlab。

# 重启gitlab服务,恢复完成

gitlab-ctl restart

    1. 优化设置
      1. 页面使用中文

Preferences偏好设置->Localization本地化->Language语言->save changes保存更改

      1. 允许web hook请求

使用管理员root账户登录

Admin Area管理中心->Settings设置->Network网络->Outbound requests出站请求->勾选Allow requests to the local network from web hooks and services允许来自 web hooks 和服务对本地网络的请求->save changes保存更改

      1. 配置Webhooks

进入项目,设置-Webhooks,添加webhooks链接(例如:http://10.40.24.32:8080/generic-webhook-trigger/invoke?token=cipas-htjh)。

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐