环境及网络请自行完成,以下均采用 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/
    1. 出于安全考虑,建议 Gitlab 安装后第一时间先关闭用户自行注册,使用 root 用户登录后在 Settings -> General -> Sing-up restrictions -> Expand
      Gitlab+Jenkins 配置 SSH 及例操作 - 图1
    2. 新建 jenkins 用户并设置用户密码

    Gitlab+Jenkins 配置 SSH 及例操作 - 图2

    1. 新建仓库小组
      Gitlab+Jenkins 配置 SSH 及例操作 - 图3
    2. 新建项目,并选中你的小组
      Gitlab+Jenkins 配置 SSH 及例操作 - 图4
    3. 把 jenkins 用户添加到小组中
      Gitlab+Jenkins 配置 SSH 及例操作 - 图5
    4. 在 Jenkins 服务器上生成 ssh 公钥和私钥
    1. $ ssh-keygen -t rsa # 三次回车

    Gitlab+Jenkins 配置 SSH 及例操作 - 图6

    1. 为 Gitlab 上的 jenkins 用户配置 ssh 公钥
    1. # 复制 Jenkins 服务器的公钥
    2. $ cat /root/.ssh/id_rsa.pub
    1. ![](https://cdn.nlark.com/yuque/0/2021/png/1567550/1617157850811-243c064a-4557-4c64-a1b3-c845d04f5532.png)
    1. 测试 ssh
      Gitlab+Jenkins 配置 SSH 及例操作 - 图7
    2. 创建 jenkins 用户的访问令牌(Access Tokens),并勾选全部范围,生成之后请将Token复制下来,后面需要用到
      Gitlab+Jenkins 配置 SSH 及例操作 - 图8
      Gitlab+Jenkins 配置 SSH 及例操作 - 图9
    3. Jenkins 安装 gitlab 插件
      Gitlab+Jenkins 配置 SSH 及例操作 - 图10
      Gitlab+Jenkins 配置 SSH 及例操作 - 图11
    4. 进入 Jenkins 系统配置 Gitlab
      Gitlab+Jenkins 配置 SSH 及例操作 - 图12
      Gitlab+Jenkins 配置 SSH 及例操作 - 图13
      Gitlab+Jenkins 配置 SSH 及例操作 - 图14
    5. 配置 Git
      Gitlab+Jenkins 配置 SSH 及例操作 - 图15
    6. 创建一个 job 进行测试,选择构建一个自由风格的软件项目,配置源码管理,填入项目的 url

    Gitlab+Jenkins 配置 SSH 及例操作 - 图16

    1. 查看 Jennkins 服务器上的私钥,将其复制填入
    1. bash-5.0# cat /root/.ssh/id_rsa

    Gitlab+Jenkins 配置 SSH 及例操作 - 图17

    1. 如果报错会在 Repositories URL 和 Credentials 之间出现错误提示,下图是没有报错的,代表配置正确
      Gitlab+Jenkins 配置 SSH 及例操作 - 图18
    2. jenkins job默认对master分支进行构建,你也可以自定义分支。这要求你的Gitlab代码仓库中要存在这个分支,一般来说,就是要向代码仓库提交一次更改,请 自行完成(Gitlab项目刚创建时是空的,一个分支也没有,这样的话,自动构建时会出错)
      Gitlab+Jenkins 配置 SSH 及例操作 - 图19
    3. 配置触发器
      Gitlab+Jenkins 配置 SSH 及例操作 - 图20
    4. 配置构建脚本
    1. # 先创建一个存放数据的工作目录
    2. $ cd / && mkdir workdir

    配置脚本

    Gitlab+Jenkins 配置 SSH 及例操作 - 图21

    1. 构建
      Gitlab+Jenkins 配置 SSH 及例操作 - 图22
    2. 检查文件
      Gitlab+Jenkins 配置 SSH 及例操作 - 图23