Jenkins系列:2、Jenkins构建流水线

2023-11-12

Jenkins系列:2、Jenkins构建流水线


1. 前言

上一节我们简单介绍了Jenkins并安装配置好了Jenkins,接下来我们简单了解创建和配置Jenkins流水线,如何进行简单的库代码拉取和构建,以及添加构建后的一些操作,比如测试、邮件通知、钉钉机器人通知等等。

2. 创建自由项目

2.1 创建简单示例

官网的文档中推荐是创建多分支流水线,但是这个多分支流水线似乎在Windows上有bug,我们目前先创建自由项目,这个的自由度更加高,也可以随时更改分支,前期可以先玩转这个创建自由工程的任务再去研究其它的任务方式如何使用:

在这里插入图片描述

设置仓库和凭证:

在这里插入图片描述

后面可以灵活的添加构建环境和构建命令等,比如Windows下可以设置执行bat命令,这样我们的一些程序就可以灵活配置了,比如go程序、stm32程序等,下载代码后就可以执行一个灵活的指令来编译,比如这里打印一下mvn的版本:

在这里插入图片描述

然后构建之后查看控制台日志:

在这里插入图片描述

2.2 构建触发器、构建环境、构建、构建后操作简介

此外,还可以设置构建触发器、构建环境、构建和构建后操作,灵活性很高。

构建触发器,可以试一下几种构建触发器,相应的都有帮助说明,比如触发远程构建、其它项目构建完触发构建、周期性构建等,这些都是很好的一些触发构建的方式,根据具体需求选择即可:

在这里插入图片描述

构建环境,比如构建前删除某些文件夹或文件、停止构建设置、添加时间戳到构建控制台输出中等等:

在这里插入图片描述

构建,可以添加shll、bat脚本等脚本命令作为构建命令,构建运行超时设置以及将构建状态添加到git commit中等等,这样的话就可以添加构建的软件版本、编译时间等到提交中,方便回溯也方便生成releasenotes等:

在这里插入图片描述

构建后操作,可以设置构建完后构建其它项目,邮件通知、删除一些文件等等:

在这里插入图片描述

3. 最后

其实,到这里已经可以做很多事了,也足够灵活,再有其它的高级用法根据需求再去学习即可,接下来我们就开始着手实践。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins系列:2、Jenkins构建流水线 的相关文章

  • 在 terraform 存储库中设置多个逻辑组织的子文件夹的正确方法是什么?

    目前我正在 azure 中开发一个基础设施 其中包括以下内容 资源组 应用网关 应用服务 etc 我所拥有的一切都在一张单曲里main tf我知道这是一个错误的文件 但我想从那里开始 我目前正在尝试将每个部分移到我的存储库中自己的子文件夹中
  • 如何删除詹金斯中的旧版本? [复制]

    这个问题在这里已经有答案了 我从 Jenkins 的构建目录中删除了旧的构建文件夹 希望它们在 UI 中删除 不幸的是 虽然这些构建目录消失了 但它们的 UI 链接仍然存在 我现在有两个问题 如何删除用户界面中失效的链接 如何从 cli 中
  • 如何使用 jenkins 声明性管道新语法测试 sh 脚本返回状态

    使用新的 jenkins 声明性管道语法 我想测试 sh 脚本执行的返回状态 是否可以不使用脚本步骤 脚本管道 工作 stage Check url node timeout 15 waitUntil sleep 20 def r sh s
  • 如何让 Jenkins、Sonar 和 JaCoCo 插件在 Eclipse Tycho 插件项目(或者 Cobertura)中协同工作?

    我的设置是 詹金斯 1 448 声纳2 13 詹金斯声纳插件 1 72 Sonar 的 MySql 数据库 我有以下项目 Eclipse 插件项目 使用Maven 多个模块 父级 Maven 项目 源插件项目 测试片段项目 一个简单的 JU
  • Jenkins 共享库:“java.lang.NoSuchMethodError:没有这样的 DSL 方法”

    我正在尝试通过 Jenkinsfile 和共享库创建 Jenkins 管道 我通过 Web UI 创建了一个作业来获取 Jenkinsfile 它工作正常 但是 共享库内容似乎无法被 Jenkins 识别 下面是 Jenkinsfile 和
  • Jenkins:如何使由于工作区问题而导致的失败构建的颜色从红色变为灰色?

    我们的詹金斯构建应该只是red当有一个构建代码时出现问题比如编译问题 如果存在管理员问题 例如工作空间已满 某些从属设备已关闭 我们需要将这份工作变成gray 表明有一个詹金斯本身的问题 但开发商应该not保持高度戒备 这是一个需要将作业变
  • Jenkins 工作流程检查作业是否正在运行或已计划

    是否可以检查某些作业是否正在运行或从某些工作流程脚本中安排 尽管使用阶段管理并发似乎就足够了 stage name stageName concurrency 1 并在这些阶段运行构建 如下所示 build job test job wai
  • 如何仅根据拉取请求在 Jenkins 中运行阶段?

    我现在有一个基于 Jenkinsfile 的管道 其中包含多个阶段 每次提交到 Github 时都会由 webhook 触发 我想在每次提交时保持 构建 和 单元测试 阶段运行 但仅在分支准备拉取请求时运行 集成测试 阶段 我想要的是 st
  • 如何在多进程系统中实现锁定?

    我们正在并行运行许多詹金斯项目 我们使用 python 并且选择使用 pyenv 管理虚拟环境 不幸的是 pyenv 有一个众所周知的竞争条件 https github com yyuu pyenv issues 174 为了解决这个问题
  • 提供数组作为 devops 管道的参数

    我刚刚开始使用天蓝色管道 我们希望不再使用arm模板和参数文件手动部署Azure资源 而是使用devops管道来完成此任务 虽然使用单个模板 参数的 json 文件来完成此操作很简单 但我看不到处理多个文件的明智方法 我已经看到有关使用数组
  • 如何使用ssh直接连接远程docker容器

    我想直接使用 ssh 连接到远程运行的 Docker 容器 通常我可以 ssh i privateKey user host docker ps which will list all running containers docker e
  • 詹金斯管道如果其他不工作

    我正在创建一个示例詹金斯管道 这是代码 pipeline agent any stages stage test steps sh echo hello stage test1 steps sh echo TEST stage test3
  • 如何在jenkins中使用文件参数

    我正在詹金斯中执行参数化构建来计数 有 1 个文件参数的文件中的行数 它的文件位置是pqr 脚本文件的名称是linecount sh保存在远程服务器上 当我尝试使用命令执行它时sh linecount sh文件名 它在詹金斯中完美运行 但是
  • 如何在多分支管道中为特定分支设置下一个版本号

    我正在尝试以编程方式为我们的发布分支设置下一个版本号 但我遇到了一个问题 以下是我尝试过的两种方法 def job Jenkins instance getItem master job nextBuildNumber env BUILD
  • Jenkins 管道构建如何确定工作区文件夹?

    在 Jenkins 管道中 当在特定节点上运行构建时 会在该代理上分配工作空间 我们没有设置工作空间路径 因此它是自动确定的 据我了解 当同一作业在同一代理上同时运行时 工作区必须包含执行程序编号以隔离构建 但是 工作空间路径到底是如何构建
  • 在声明性詹金斯管道中 - 我可以动态设置代理标签吗?

    有没有办法动态设置代理标签而不是普通字符串 该工作有 2 个阶段 第一阶段 始终在 主 代理上运行 在此阶段结束时 我将知道第二阶段应在哪个代理上运行 第二阶段 应该在第一阶段决定的代理上运行 我的 不起作用 尝试如下所示 pipeline
  • Jenkins 管道作业无法在 UI 中完成

    目前的问题是詹金斯管道作业确实运行并正常完成 但在 UI 中 该工作会一直保留 直到我们通过 UI 中止他 这种情况并不常见 大概只占 5 的工作岗位 这可能是詹金斯错误 重新加载配置问题或只是节点上的流量太大 我真的不确定 由于所有 有问
  • 如何通过运行构建队列重新启动 Jenkins?

    我们的 Jenkins 执行大量集成测试 詹金斯运行的时间越长 测试所需的时间就越长 因此 我们每天晚上通过 cronjob 重新启动 Jenkins 服务器 同时 构建队列太长而无法完成 当前正在运行的作业被取消并失败 那太丑了 我找到了
  • git jenkins 中未找到存储库

    我正在使用 jenkins 2 64 并安装了最新的插件 我试图在 jenkins 中设置 git 存储库并给出凭据 但给出错误无法连接存储库 状态代码为 128 Cloning repository https github com so
  • 将 cron 作业配置为在 Jenkins 上每 15 分钟运行一次

    如何在 Jenkins 上每 15 分钟运行一次 cron 作业 这是我尝试过的 在 Jenkins 上 我使用以下 cron 语法设置了每 15 分钟运行一次的作业 14 但该作业每小时执行一次 而不是 15 分钟 我收到有关 cron

随机推荐

  • 使用ctypes模块进行键盘钩取

    原理 使用user32 dll提供的SetWindowsHookExA函数 可以设置钩子 当有消息到来或发生鼠标 键盘输入事件时 操作系统提供了中间拦截机制 这称为 钩子 从功能上实现这种机制的函数称为钩子过程 回调函数 操作系统支持为一个
  • GPT垂直领域相关模型 现有的开源领域大模型

    对于ToC端来说 广大群众的口味已经被ChatGPT给养叼了 市场基本上被ChatGPT吃的干干净净 虽然国内大厂在紧追不舍 但目前绝大多数都还在实行内测机制 大概率是不会广泛开放的 毕竟 各大厂还是主盯ToB ToG市场的 从华为在WAI
  • excel 中使用vlookup函数

    vlookup函数使用方法 https zhuanlan zhihu com p 29161495 使用函数后不显示只显示公式处理办法 第二点 将函数所在单元格的格式改为常规或数值格式 并点击F2或者点击一下编辑栏 再点击Enter即可 h
  • 微软又赢麻了!联合 Meta 发布免费商业应用的开源 AI 模型 Llama 2

    整理 屠敏 出品 CSDN ID CSDNnews 昔日的竞争对手 今日的合作盟友 忽如一夜春风来 开源大模型迎来新局面 今天是 OSS AI 胜利的一天 随着 Meta 最新发布一个新的开源 AI 模型 Llama 2 网上盛赞的声音不绝
  • 10月5日 大数据专题

    10月5日 大数据专题 中秋国庆双节盛典 大数据 大数据 big data IT行业术语 是指无法在一定时间范围内用常规软件工具进行捕捉 管理和处理的数据集合 是需要新处理模式才能具有更强的决策力 洞察发现力和流程优化能力的海量 高增长率和
  • 笔记整理nodeJS

    nodeJS 学习方法 掌握思想 编程思想很重要 语言只是工具 不仅仅只是记住了API 查资料的方式 API文档 1 搭建服务器 2 mongodb 用 注册和登录增删改查新闻 bootstrap 3 api server 注册和登录增删改
  • CSS学习(三)CSS优先级和盒子模型

    优先级的介绍 特性 不同选择器具有不同的优先级 优先级高的选择器样式会覆盖优先级低选择器样式 优先级公式 继承 lt 通配符选择器 lt 标签选择器 lt 类选择器 lt id选择器 lt 行内样式 lt important 注意点 1 i
  • Anaconda的安装

    个人简介 作者简介 大家好 我是W chuanqi 一个编程爱好者 个人主页 W chaunqi 支持我 点赞 收藏 留言 愿你我共勉 若身在泥潭 心也在泥潭 则满眼望去均是泥潭 若身在泥潭 而心系鲲鹏 则能见九万里天地 文章目录 Anac
  • Bootstrap Navbar

    Bootstrap Navbar 导航栏 是Bootstrap框架中一个重要的组件 用于创建响应式的导航菜单 适用于各种屏幕大小和设备 导航栏通常位于网页的顶部 为用户提供导航和链接到不同页面或功能 以下是Bootstrap Navbar的
  • 第十二届蓝桥杯国赛试题及解析

    第一题 选择题严禁使用程序验证设s HiLanQiao 运行以下哪个选项代码可以输出 LanQiao 子串 A A print s 7 B print s 6 11 C print s1 7 01 D print s 7 1 第二题 选择题
  • eclipse配置tomcat

    eclipse环境下如何配置tomcat 打开Eclipse 单击 Window 菜单 选择下方的 Preferences 单击 Server 选项 选择下方的 Runtime Environments 点击 Add 添加Tomcat 点击
  • unityShader之固定渲染管线

    固定渲染管线功能较单一 能实现的效果不多 基本快要被淘汰了 老式的机器上还能用一用 附上几个脚本示例简单说明一下 shader likang king01 properties Color MainColor color 0 0 0 1 固
  • 【C#学习笔记】指针使用

    using System namespace ConsoleApplication2 class Program static void Main string args int a 5 unsafe int pa a Console Wr
  • 浅谈边缘计算

    一 概念 定义 1 维基百科对边缘计算的定义如下 边缘计算是一种优化云计算系统的方法 在边缘执行分析和知识生成减少受控系统和数据中心之间的通信带宽 2 OpenStack基金会对边缘计算的定义如下 边缘计算是为应用开发者和服务提供商在网络的
  • 【LeetCode102】二叉树的层序遍历

    题目描述 首刷自解 vector
  • 【Vue 常用属性】

    Vue 常用属性 vue常用的属性有 数据属性 方法 计算属性 监听属性 数据属性 组件的data 选项是一个函数 Vue 会在创建新组件实例的过程中调用此函数 它应该返回一个对象 然后Vue 会通过响应性系统将其包裹起来 并以 data
  • JDK8特性--Stream(求和,过滤,排序)

    Stream简介 Java 8 API添加了一个新的抽象称为流Stream 可以让你以一种声明的方式处理数据 Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象 元素流在管道
  • Modern OpenGL---09 纹理(纹理单元可贴多个纹理)

    对之前画的矩形基础上贴上纹理 在片段着色器中 声明一个采样器 表示纹理位置 每个纹理位置叫做纹理单元 比如 0 1等 当只有一个纹理事时 纹理单元默认为0 当有一个以上的纹理时 则需要通过uniform从外部设置每个纹理单元的值 需要注意的
  • Makefile实例,利用Makefile给多文件、多目录C源码建立工程

    0 前言 粉丝留言 想知道如何使用Makefile给多个文件和多级目录建立一个工程 必须安排 关于Makefile的入门参考文章 可以先看这篇文章 Makefile入门教程 为了让大家有个更加直观的感受 一口君将之前写的一个小项目 本篇在该
  • Jenkins系列:2、Jenkins构建流水线

    Jenkins系列 2 Jenkins构建流水线 文章目录 Jenkins系列 2 Jenkins构建流水线 1 前言 2 创建自由项目 2 1 创建简单示例 2 2 构建触发器 构建环境 构建 构建后操作简介 3 最后 1 前言 上一节我