使用docker搭建jenkins
jenkins目前官方有三个镜像,jenkins,jenkins/jenkins,和jenkins/jenkins:lts。其中 jenkins/jenkins 是每周更新,jenkins/jenkins:lts 是长期支持版本,而目前的 jenkins 镜像则会被废弃以更好的支持 jenkins/jenkins:lts 。
创建jenkins文件夹存储数据
创建docker-compose.yml
1 | version: '3.1' |
- 启动,访问localhost:10080,配置jenkins并使用。
使用jenkins构建项目
配置jenkins,gitlab
- jenkins配置jdk,maven,gradle
Manage jenkins=>Global Tool Configuration
JDK有多种方式,如果有挂载jdk可直接配置路径使用;
也可以采用从官网下载自动安装(需要Oracle账号);
或者自定义下载地址..etc
Gradle 和 Maven 相同。
- jenkins生成sshkey
1 | docker exec -it jenkins /bin/bash |
- 将jenkins的公钥配置到gitlab账户中
- 新建job,填入名称并选择freestyle类型
- 配置source为git,填入地址,并添加认证方式,因之前配置了gitlab的sshkeys,这里也使用ssh方式
- 配置触发Build行为,这里由webhook触发,点击advanced,配置哪些事件哪些分支触发,并点击Generate生成Secret token。
- 在gitlab项目的设置-集成中配置webhook,填入对应的url,将jenkins的Secret Token拷贝并填写进来,并关闭SSL验证
- 在jenkins配置build,我这里示例是maven项目,选择Invoke top-level Maven targets,配置maven版本,以及goals,在Advanced中还可配置pom文件,setting.xml文件等
测试
push代码,测试是否有进行maven package。在jenkins控制台能看见进程。
待package完成后,在workspace的target下即能找到对应的jar文件了。