Jenkins里构建一个简单流水线

前情提要:传送门,我在虚拟机里装了一个Ubuntu,然后在docker里装了一个Jenkins及GitLab!
点击这里下载或fork一个简单的Java项目用于学习Jenkins!

目标:修改代码后,上传到git,在在Jenkins流水线里完成【自动拉取代码 】--【打包 】--【运行

1.安装Docker插件

由于我的虚拟机上没有安装Maven,又不想单独安装一份,这里需要在Jenkins里使用Docker的功能,需要提前下载Docker插件,而我Jenkins本身又是在Docker里,因此在Jenkins容器启动时就需要挂载 Docker 套接字等。也可以加上"-u root"解决一些权限问题。

复制代码
-u root
-v /var/run/docker.sock:/var/run/docker.sock
-v /usr/bin/docker:/usr/bin/docker

2.配置全局git凭据

2.1配置凭据提供者,选择账号密码方式

2.2 进入凭据管理,添加凭据

2.3 选择我们在2.1里添加的凭据提供者,账号密码方式,输入git的账号密码,添加完成以后回到凭据列表页可以看到,新增了一个凭据!

3.添加流水线

3.1 回到首页,选择【新建任务】-流水线】

3.2 上面的配置暂时不管,拖动到最下方,选择【Pipline script from SCM】, 如果使用【Pipline script】则是在下方输入框手动写命令,目前是入门阶段,暂时使用更简单的手动配置方式!这种方式是使用项目根目录下的文件【JenkinsFile

3.3 SCM选择【Git】,填写仓库地址,选择之前配置好的凭据,设置分支,注意:如果使用的GitLab,并且和Jenkins在同一个Docker里,这里的Ip需要更改成Docker的IP:172.17.0.1

3.4点击开始构建,进入构建任务的【Console Output】可以看到构建过程,下图就是自动从仓库拉取代码


3.5 在项目根目录有个文件【JenkinsFile】,这个文件就是自定义构建过程,其中Maven是通过Jenkins去控制Docker安装启动的,也可以提前在Docker里安装好,如果没有提前安装,会自动下载!

3.6 maven会自动启动,然后继续下面的【构建阶段】,完成对Java项目的打包!

3.7 代码中的两个单元测试也都在测试阶段进行了验证

3.8 最后运行程序

至此,一个简单的流水线任务已经完成,接下来就是学习【JenkinsFile】语法,然后自定义流程。另外这个流水线还有个问题是每次提交了代码,需要手动点击构建,还是麻烦得很!(懒癌发作~~~~)

未完待续...

相关推荐
聪明的笨猪猪10 分钟前
Java JVM “调优” 面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
重整旗鼓~25 分钟前
28.redisson源码分析分布式锁
java·开发语言
Query*26 分钟前
Java 设计模式——工厂模式:从原理到实战的系统指南
java·python·设计模式
早睡冠军候选人1 小时前
Ansible学习----Ansible Playbook
运维·服务器·学习·云原生·容器·ansible
sulikey1 小时前
从实验出发深入理解Linux目录权限:r、w、x分别控制什么?能否进入目录到底由谁决定?
linux·运维·服务器·ubuntu·centos
懒羊羊不懒@1 小时前
Java基础语法—最小单位、及注释
java·c语言·开发语言·数据结构·学习·算法
ss2731 小时前
手写Spring第4弹: Spring框架进化论:15年技术变迁:从XML配置到响应式编程的演进之路
xml·java·开发语言·后端·spring
DokiDoki之父1 小时前
MyBatis—增删查改操作
java·spring boot·mybatis
兩尛1 小时前
Spring面试
java·spring·面试
Java中文社群2 小时前
服务器被攻击!原因竟然是他?真没想到...
java·后端