Jenkins里构建一个简单流水线

news2025/5/15 12:12:59

前情提要:传送门,我在虚拟机里装了一个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 回到首页,选择【新建任务】-流水线】
在这里插入图片描述
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/67e3f925fb804a6f8a60f8f345b007ce.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2376084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java Queue 接口实现

Date: 2025.05.14 20:46:38 author: lijianzhan Java中的Queue接口是位于java.util包中,它是一个用于表示队列的接口。队列是一种先进先出(First-In-First-Out, 简称为FIFO)的数据结构,其中元素被添加到队列的尾部,并从…

OpenEvidence AI临床决策支持工具平台研究报告

平台概述 OpenEvidence是一个专为医疗专业人士设计的临床决策支持工具,旨在通过整合各类临床计算器和先进的人工智能技术,提高医生的诊疗决策效率和准确性。作为一款综合性医疗平台,OpenEvidence将复杂的医学计算流程简化,同时提供个性化的临床建议,使医生能够更快、更准…

如何远程执行脚本不留痕迹

通常我们在做远程维护的时候,会有这么一个需求,就是我想在远程主机执行一个脚本,但是这个脚本我又不想保留在远程主机上,那么有人就说了,那就复制过去再登录远程执行不就行了吗?嗯嗯,但是这还不…

Ota++框架学习

一:框架结构 这是一幅展现 Web 应用程序架构的示意图,以下是对图中各部分的详细解释: 外部交互部分 Request(请求):位于架构图的左上角,用黄色虚线框表示 。代表来自客户端(如浏览器…

Chrome安装最新vue-devtool插件

本vue-devtool版本是官方的 v7.6.8版本,兼容性好、功能齐全且稳定。 操作步骤: 方法一: 打开谷歌浏览器 --> 右上角三个点 --> 扩展程序 --> 管理扩展程序 --> 加载已解压的扩展程序, 然后选择解压后的文件夹即可。…

bfs-最小步数问题

最小步长模型 特征: 主要是解决权值为1且状态为字符串类型的最短路问题,实质上是有向图的最短路问题,可以简化为bfs求最短路问题。 代表题目: acwing 845 八数码问题: 八数码题中由于每次交换的状态是由x进行上下左右…

java----------->代理模式

目录 什么是代理模式? 为什么会有代理模式? 怎么写代理模式? 实现代理模式总共需要三步: 什么是代理模式? 代理模式:给目标对象提供一个代理对象,并且由代理对象控制目标对象的引用 代理就是…

Untiy基础学习(十四)核心系统—物理系统之碰撞检测代码篇 刚体,碰撞体,材质

目录 一、碰撞器(Collider)与触发器(Trigger) 二、碰撞检测条件 三、碰撞事件与触发器事件,可以理解为特殊的生命周期函数。 四、讲讲如何选择 ​编辑 五、总结 一、碰撞/触发事件函数对照表 二、Collider 与 …

SAP学习笔记 - 开发08 - Eclipse连接到 BTP Cockpit实例

有关BTP,之前学了一点儿,今天继续学习。 SAP学习笔记 - 开发02 - BTP实操流程(账号注册,BTP控制台,BTP集成开发环境搭建)_sap btp开发-CSDN博客 如何在Eclipse中连接BTP Cockpit开发环境实例。 1&#xf…

Git的安装和配置(idea中配置Git)

一、Git的下载和安装 前提条件:IntelliJ IDEA 版本是2023.3 ,那么配置 Git 时推荐使用 Git 2.40.x 或更高版本 下载地址:CNPM Binaries Mirror 操作:打开链接 → 滚动到页面底部 → 选择2.40.x或更高版本的 .exe 文件&#xf…

【2025版】Spring Boot面试题

文章目录 1. Spring, Spring MVC, SpringBoot是什么关系?2. 谈一谈对Spring IoC的理解3. Component 和 Bean 的区别?4. Autowired 和 Resource 的区别?5. 注入Bean的方法有哪些?6. 为什么Spring 官方推荐构造函数注入?…

火山引擎实时音视频 高代码跑通日志

实时音视频 SDK 概览--实时音视频-火山引擎 什么是实时音视频 火山引擎实时音视频(Volcengine Real Time Communication,veRTC)提供全球范围内高可靠、高并发、低延时的实时音视频通信能力,实现多种类型的实时交流和互动。 通…

jenkins 启动报错

java.lang.UnsatisfiedLinkError: /opt/application/jdk-17.0.11/lib/libfontmanager.so: libfreetype.so.6: cannot open shared object file: No such file or directory。 解决方案: yum install freetype-devel 安装完成之后重启jenkins。

【合新通信】无人机天线拉远RFOF(射频光纤传输)解决方案

无人机天线拉远RFOF方案通过光纤替代传统射频电缆,实现无人机与地面控制站之间的高保真、低损耗信号传输,尤其适用于高频段(如毫米波)、远距离或复杂电磁环境下的无人机作业场景。 核心应用场景 军事侦察与电子战 隐蔽部署&…

程序设计语言----软考中级软件设计师(自用学习笔记)

目录 1、解释器和编译器 2、程序的三种控制结构 3、程序中的数据必须具有类型 4、编译、解释程序翻译阶段 5、符号表 6、编译过程 7、上下文无关文法 8、前、中、后缀表达式 9、前、后缀表达式计算 10、语法树中、后序遍历 11、脚本语言和动态语言 12、语法分析方法…

通过SMTP协议实现Linux邮件发送配置指南

一、环境准备与基础配置 1. SMTP服务开通(以qq邮箱为例) 登录qq邮箱网页端,进入「设置」-「POP3/SMTP/IMAP」 开启「SMTP服务」并获取16位授权码(替代邮箱密码使用) 记录关键参数: SMTP服务器地址&#…

若依框架页面

1.页面地址 若依管理系统 2.账号和密码 管理员 账号admin 密码admin123 运维 账号yuwei 密码123456 自己搭建的地址方便大家学习,不要攻击哦,谢谢啊

44、私有程序集与共享程序集有什么区别?

私有程序集(Private Assembly)与共享程序集(Shared Assembly)是.NET框架中程序集部署的两种不同方式,它们在部署位置、版本控制、访问权限等方面存在显著差异,以下是对二者的详细比较: 1. 部署…

【Java面试题】——this 和 super 的区别

🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:【Java】内容概括 【前言】 在Java的世界里,this和 super是两个非常重要且容易混淆的关键字。无论是在日常…

CentOS 7 内核升级指南:解决兼容性问题并提升性能

点击上方“程序猿技术大咖”,关注并选择“设为星标” 回复“加群”获取入群讨论资格! CentOS 7 默认搭载的 3.10.x 版本内核虽然稳定,但随着硬件和软件技术的快速发展,可能面临以下问题: 硬件兼容性不足:新…