jenkins与gitlab联动ci
安装jenkins
docker pull jenkins/jenkins
docker-compose.yml
因为测试 端口映射的是 8887
1 | version: '3.2' |
需要说明的时候 挂载了 jenkins_home是把jenkins的插件用户的所有数据配置等挂载出来 方便以后迁移等保护数据
挂载 jenkins.sh 是为了关闭csrf保护 关闭后才能与gitlab联动
jenkins.sh
1 | #! /bin/bash -e |
启动
启动后 需要输入默认root的密码
docker logs jenkins 就能看到 输入后进行安装
安装完成后配置插件地址为国内源
系统管理的插件管理
点击高级 下拉
配置为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
上传插件为离线安装使用的 依赖多很麻烦 不得已的话再使用
最后 安装gitlab gitlab hook 插件 重启
gitlab安装
docker-compose.yml
1 | version: '3.2' |
启动后创建用户就可以了
gitlab push jenkins执行任务
jenkisn
jenkins 新建一个任务
配置触发器
后面将这个token配置到gitlab那边
url是项目的url
配置gitlab的用户名密码
gitlab
使用root账号登录 才有 Admin Area
然后切换回那个项目的账号
配置 webhook
url是 jenkins build 那里的
测试运行
jenkins这边也能看到任务执行
然后在项目中编写 Jenkinsfile 来执行具体任务
可参考 https://www.k8stech.net/jenkins-docs/pipelinesyntax/chapter01/
个人更推荐使用gitlab runner 来实现ci cd