jenkins-pipeline相关内容

在 Jenkins 的多分支管道中删除分支时执行代码

我有一个 Jenkins,它使用 多分支项目.也就是说,当一个新的分支被创建到存储库时,Jenkins 会自动为该分支创建一个新的作业,并在该分支被移除时移除该作业. 现在,我想在删除分支时运行一些代码,以清除创建分支时创建的测试环境.有没有办法做到这一点? 解决方案 现在有 多分支动作触发器插件.这似乎具有我要求的功能.虽然没有测试. 此插件可以在创建或删除管道作业时,或者当 ..
发布时间:2022-01-18 17:12:38 其他开发

让 Jenkins 管道等到服务器启动

我目前开始将我们的构建转换为 Jenkins 构建管道.在某个时刻,我们有必要在 docker 容器中等待 Web 应用程序的启动. 我的想法是使用这样的东西: 超时(120){等到 {sh 'wget -q http://server:8080/app/welcome.jsf -O/dev/null'}} 不幸的是,这使得管道构建失败: 错误:脚本返回退出代码 4 有什么简 ..
发布时间:2022-01-18 17:12:10 其他开发

如何在 Jenkinsfile 中设置 github 拉取请求构建?

所以,我使用 Jenkins 已经有一段时间了.我已经使用 Github Pull Request Builder 插件设置了许多项目,以便在有人打开拉取请求时运行测试,然后在拉取请求实际合并到 master 时触发其他工作(构建、推送、部署等). 那么,有没有办法使用 Jenkinsfile、组织文件夹或多分支构建协议来设置它? 解决方案 github-organization-f ..
发布时间:2022-01-18 17:12:01 其他开发

有没有办法在声明性 Jenkins 管道中运行预结帐步骤?

Jenkins 声明式管道 提供 post 指令以在阶段完成后执行代码.是否有类似的事情来运行代码在阶段运行之前,最重要的是,在 SCM 结帐之前? 例如: pre {总是 {rm -rf ./*}} 这将在签出源代码之前清理我的构建工作区. 解决方案 pre 是一个很酷的功能想法,但还不存在.skipDefaultCheckout 和 checkout scm(与默认 chec ..
发布时间:2022-01-18 17:11:30 其他开发

在 Jenkins Pipelines 中设置阶段状态

脚本化管道中是否有任何方法可以将某个阶段标记为不稳定,但仅将该阶段显示为不稳定,而不在输出中将每个阶段都标记为不稳定? 我可以这样做: node(){阶段(“阶段1"){//做工作(通过)}阶段(“阶段2"){//出了点问题,但不是灾难性的...currentBuild.result = '不稳定'}阶段(“阶段 3"){//继续前进...}} 但是当我运行它时,Jenkins 将所有内 ..
发布时间:2022-01-18 17:11:13 其他开发

在所有节点上同时运行 Jenkins 作业

TLDR:我希望能够在 Jenkins 管道中的多个节点上同时运行作业.[ 例如 - 在节点 dev、test & 上构建应用程序 x基于 aws 的暂存节点] 我有一大组具有相同标签的节点.我希望能够在 Jenkins 中运行一个作业,该作业在 所有 具有相同标签的节点上执行并且同时执行. 我在Jenkins中看到了使用矩阵配置选项的建议,但我只能想到一个轴(标签组).当我尝试运行该 ..
发布时间:2022-01-18 17:10:58 其他开发

如何让 Jenkins 2.0 在与结帐相同的目录中执行 sh 命令?

这是我的 Jenkins 2.x 管道: 节点('master'){阶段“结帐"结帐单片机阶段“构建 Pex"sh('build.sh')} 当我运行此管道时,结帐会按预期将代码放入工作区,但不是期望在工作区/中找到脚本(它真的在那里!),它会在一个不相关的目录中查找:workspace@tmp/durable-d812f509. 进入阶段 Build Pex进行中[管道] sh[工作区] ..
发布时间:2022-01-18 17:10:52 其他开发

Jenkins多分支管道扫描而不执行

是否可以扫描多分支管道以使用 Jenkinsfile 检测分支,但不执行管道? 我的项目有不同的分支,当我从父管道多分支启动构建扫描时,我不希望所有带有 Jenkinsfile 的子管道分支都开始执行. 解决方案 在您的 Branch Sources 部分中,您可以添加一个名为 Suppress automatic SCM triggering 的属性. 这会阻止 Jenkin ..
发布时间:2022-01-18 17:10:44 其他开发

Jenkins管道作业:从字符串参数设置睡眠时间?

我是 Jenkins Pipeline 工作的新手,遇到了一个我无法解决的问题. 我有一个带有硬编码 sleep 秒值的阶段: stage ("wait_prior_starting_smoke_testing") {echo '等待 5 分钟部署以完成之前的开始烟雾测试'睡眠 300//秒} 但我想通过作业(字符串)参数 SLEEP_TIME_IN_SECONDS 提供时间参数.但无论 ..
发布时间:2022-01-18 17:10:38 其他开发

Jenkins 管道中的 deleteDir、cleanWs 和 'WsCleanup' 有什么区别?

这些都被提及(例如 在这个 SO 问题中)用于清理 Jenkinsfile.但是,似乎有些已过时或功能略有不同,我想了解使用哪个. 其中,deleteDir 是最常被提及的,显然其他只是调用 Jenkins Workspace Cleanup Plugin 的不同语法. 功能上有什么区别?推荐哪个? deleteDir()清洁Ws()步骤([$class:'WsCleanup']) ..
发布时间:2022-01-18 17:10:22 其他开发

詹金斯管道中的 Maven 生命周期 - 如何最好地分离职责?

在使用 jenkins 2(声明式)管道和 maven 时,我总是在如何组织管道内的东西以使其可重用和灵活方面遇到问题. 一方面,我想将管道分成逻辑阶段,例如: 管道{阶段{阶段('清洁'){}阶段('构建'){}阶段('测试'){}阶段(“健全性检查"){}阶段('文档'){}阶段('部署 - 测试'){}阶段(“硒测试"){}阶段('部署 - 生产'){}阶段('交付'){}}} 另 ..
发布时间:2022-01-18 17:09:59 其他开发

Jenkins 管道与并行

这是我正在尝试执行的 Jenkins 管道.我正在关注本教程: 管道{代理任何阶段{阶段('一个'){并行“第一":{回声“你好"},“第二": {回声“世界"}}阶段('两个'){并行“第一":{回声“你好"},“第二": {回声“世界"}}}} 但作业失败并显示以下消息. org.codehaus.groovy.control.MultipleCompilationErrorsExcep ..
发布时间:2022-01-18 17:09:41 其他开发

try/catch/finally 在 groovy 编译器异常的情况下掩盖 Jenkinsfile 问题

我的 Jenkinsfile 中有类似于下面的代码: 节点{结帐单片机//做一些事情尝试 {//做一些 Maven 魔术} 捕捉(错误){“失败后清理"阶段emailext attachLog:true,正文:“构建失败(请参阅 ${env.BUILD_URL}):${error}",主题:“[JENKINS] ${env.JOB_NAME} failed",收件人:'someone@examp ..
发布时间:2022-01-18 17:09:16 其他开发

如何确保在运行 Jenkins 管道之前更新参数列表?

Jenkins 管道项目配置为从 Git 存储库获取其 Jenkinsfile: 如果我更改参数列表,例如,从: 属性([参数([字符串(名称:'FOO',描述:'选择 foo')])]) 到: 属性([参数([字符串(名称:'FOO',描述:'选择 foo'),字符串(名称:“酒吧",描述:“选择酒吧")])]) 并运行构建,第一次运行不显示新添加的BAR参数: 由于更新后的 ..
发布时间:2022-01-18 17:09:08 其他开发

如何在声明式管道中等待用户输入而不阻塞重量级执行器

我正在将现有的构建管道重建为 jenkins 声明式管道(多分支管道),并且在处理构建传播时遇到问题. 在打包和存储所有相关文件后,管道应该等待用户输入以触发部署. 如果我只是添加一个输入步骤,当前的构建节点将被阻止.由于这个执行器很重,我想把这一步移到更轻量级的机器上. 最初,我将这项工作作为脚本管道完成,并创建了两个不同的 node('label') 块.有没有办法让我用声明 ..
发布时间:2022-01-18 17:08:58 其他开发

使用 def 和不使用定义变量有什么区别?

关于 Jenkins DSL,有什么区别: def cwd = pwd() 和 cwd = pwd() ? 解决方案 这是范围的不同.当您将值分配给没有“def"或其他类型的变量时,在 Groovy 脚本中,它被添加到脚本的全局变量“绑定"中.这意味着可以从脚本中的所有函数访问它.这很像在脚本顶部定义的变量. 如果有多个线程作用于脚本,您可能会出现意外行为. def a = ..
发布时间:2022-01-18 17:08:50 其他开发