环境及网络请自行完成,以下均采用 docker 方式安装
Gitlab官网文档:https://docs.gitlab.com/ee/integration/jenkins.html#configure-gitlab-integration-with-jenkins
系统要求 | IP | 角色 | 访问地址 |
---|---|---|---|
centos8 、2核4G | 192.168.22.4 | jenkins | http://192.168.22.4:9090/ |
centos8、2核4G | 192.168.22.5 | gitlab | http://192.168.22.5/ |
- 出于安全考虑,建议 Gitlab 安装后第一时间先关闭用户自行注册,使用 root 用户登录后在 Settings -> General -> Sing-up restrictions -> Expand
- 新建 jenkins 用户并设置用户密码
- 新建仓库小组
- 新建项目,并选中你的小组
- 把 jenkins 用户添加到小组中
- 在 Jenkins 服务器上生成 ssh 公钥和私钥
$ ssh-keygen -t rsa # 三次回车
- 为 Gitlab 上的 jenkins 用户配置 ssh 公钥
# 复制 Jenkins 服务器的公钥
$ cat /root/.ssh/id_rsa.pub

- 测试 ssh
- 创建 jenkins 用户的访问令牌(Access Tokens),并勾选全部范围,生成之后请将Token复制下来,后面需要用到
- Jenkins 安装 gitlab 插件
- 进入 Jenkins 系统配置 Gitlab
- 配置 Git
- 创建一个 job 进行测试,选择构建一个自由风格的软件项目,配置源码管理,填入项目的 url
- 查看 Jennkins 服务器上的私钥,将其复制填入
bash-5.0# cat /root/.ssh/id_rsa
- 如果报错会在 Repositories URL 和 Credentials 之间出现错误提示,下图是没有报错的,代表配置正确
- jenkins job默认对master分支进行构建,你也可以自定义分支。这要求你的Gitlab代码仓库中要存在这个分支,一般来说,就是要向代码仓库提交一次更改,请 自行完成(Gitlab项目刚创建时是空的,一个分支也没有,这样的话,自动构建时会出错)
- 配置触发器
- 配置构建脚本
# 先创建一个存放数据的工作目录
$ cd / && mkdir workdir
配置脚本
- 构建
- 检查文件