DevOps:gitlab+jenkins集成(CI/CD)
·
背景:自己搞着玩,jenkins在自己电脑上(macos12),gitlab是公司的
一. 安装
1. docker
- 官网直接下载安装,有桌面版用起来也很方便
- macos12可能不兼容最新版本的docker可以下载旧一点的版本
2. jenkins
- 使用docker安装jenkins/jenkins镜像,如果慢可以切换镜像源地址
// 下载jenkins最新版本 docker pull jenkins/jenkins:latest // docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home -d --name myjenkins jenkins/jenkins // 说明: // -p 8080:8080 将容器的8080端口映射到主机的8080端口,这是Jenkins的Web>界面默认端口。 // -p 50000:50000 映射Jenkins的代理端口,这对于Jenkins与Slave节点通信是必需的。 // -v jenkins_home:/var/jenkins_home 将主机的jenkins_home目录挂载到容器的/var/jenkins_home目录 // -d 脱离终端后台运行,终端关闭不影响容器 // --name myjenkins 为容器指定一个名称,这里命名为myjenkins //成功之后浏览器localhost:8080打开jenkins页面
- 打开jenkins页面之后,首次登录jenkins生成了一个密码,保存在服务器中的initialAdminPassword文件中,路径会在页面中展示,你需要找到文件中的密码粘贴到密码输入框中(如下图)
- 安装jenkins插件,推荐的就行(如图)
- 设置管理员账户密码,登录之后进入首页
二. 配置凭证
自测只配置用户名密码就可以,apiToken测试连接可以通但项目中不能选,密钥对的话一直不通,原因没找到
1. 添加凭证位置
jenkins =》设置 =》凭证 =》系统 =》全局 =》 添加凭证
1
2
3
4
2. 添加gitlab用户名密码凭证
3.apiToken凭证
1. 先去gitlab中获取项目访问令牌
创建完成之后 复制秘钥,只会出现一次,保存好,不然需要重新创建2. jenkins添加凭证页面
4. 密钥对
1.生成密钥对
- 首先在jenkins所在容器(没使用docker的话在宿主机上操作就行)生成密钥对
ssh-keygen
- 生成密钥对之后~/.ssh文件夹下多了两个文件,pub后缀名是公钥,另一个是私钥
2.配置密钥对
- gitlab配置公钥:
- jenkins配置私钥
5.完成之后,列表中会展示出来
三.创建jenkins任务
1. 基本信息
2. 代码管理
我这里用密钥对凭证没有通过(如下图),因为用的市公司的gitlab服务,没有权限操作,所以这个问题就没深究,等本地部署一个gitlab服务再来补充
3. 触发器配置
生成令牌,gitlab webhook要用
四.gitlab webhook配置
1. 进入到你代码仓库中
2. 进入到webhook配置

五.测试
到这里,推送代码就可以触发jenkins任务了
1. 在gitlab项目中 webhooks列表测试一下,也可以手动提交下代码测试一下

2. 在项目中配置下构建脚本

3.查看构建结果



更多推荐























所有评论(0)