Gitlab_and_jenkins
[个人实践] 献给热爱CI的同事 —— GitLab 携手 Jenkins 助力CI
撰稿的时间在2017-3-17 作者:苏玲( git2019@163.com )
外文参考资料:
闪亮点:
- 每个 commit 有 CI 的结果
- 每个 merge request 有 CI 的结果
前提:
- 采用公司的 gitlab 服务。
- jenkins已安装 git-lugin , gitlab-plugin 。
- 创建了一对公私钥( ssh-keygen -trsa方式)
jenkins和gitlab的配置:
jenkins:创建credentials(SSH Username with private key) ,建好后第5步骤会用到。如图:
gitlab:粘贴公钥。
上面 credentials 中输入的是私钥(private key),我们得把对应的公钥(public key)放到gitlab某账号的ssh keys中去(略)。1)和 2)结合,才能在jenkins处获取代码仓库。
jenkins:创建credentials(Gitlab API token) ,建好后过会儿再用。
jenkins跑好ci后,要把状态写回到 gitlab ,因此,在jenkins服务这边必须做相应的配置,配置jenkins job访问gitlab。注意,图中的“API token”来自gitlab上某账户的 Private token 。
如下图:
jenkins:配置gitlab-plugin,用上面创建的credentials(Gitlab API token)。
系统管理 -> 系统设置 -> Gitlab
jenkins:创建job,配置源码管理 -> git。
jenkins:配置构建触发器/Build Triggers。
jenkins: 配置构建后操作/Post-build Actions。
jenkins: 配置 GitLab connection 。
gitlab: 配置 webhook 。
Written on December 26, 2018
