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】语法,然后自定义流程。另外这个流水线还有个问题是每次提交了代码,需要手动点击构建,还是麻烦得很!(懒癌发作~~~~)

未完待续...

相关推荐
秋野酱几秒前
基于javaweb的SpringBoot高校图书馆座位预约系统设计与实现(源码+文档+部署讲解)
java·spring boot·后端
有谁看见我的剑了?24 分钟前
ubuntu 22.04 wifi网卡配置地址上网
linux·运维·ubuntu
举一个梨子zz26 分钟前
Java—— 可变参数、集合工具类、集合嵌套、不可变集合
java·开发语言·intellij-idea·需求分析
算法给的安全感27 分钟前
bfs-最小步数问题
java·算法·宽度优先
码农新猿类31 分钟前
Ubuntu摄像头打开失败
linux·运维·ubuntu
jstart千语43 分钟前
【消息队列】RabbitMQ基本认识
java·服务器·分布式·rabbitmq
泽020244 分钟前
C++类和对象之相关特性
java·开发语言·c++
唐僧洗头爱飘柔95271 小时前
【SSM-SpringMVC(二)】Spring接入Web环境!本篇开始研究SpringMVC的使用!SpringMVC数据响应和获取请求数据
java·spring·文件上传·页面跳转·数据响应·获取请求数据·静态资源访问
-曾牛1 小时前
Spring AI 集成 Mistral AI:构建高效多语言对话助手的实战指南
java·人工智能·后端·spring·microsoft·spring ai
PWRJOY1 小时前
Ubuntu磁盘空间分析:du命令及常用组合
linux·运维·ubuntu