jenkins-pipeline相关内容
我有一个 Jenkins 流水线脚本,其中我加载了一个外部 Groovy 脚本,其中包含一些函数来执行我的构建.这些功能应该是普通的,因为如果有人在某处的本地计算机上运行构建,我也想在 Jenkins 之外使用它们. 在这些函数中,我需要执行 shell 命令并评估结果.这在 groovy 调用类似 的函数时效果很好 def SomeFunction() {def result = "一
..
我们需要打印这些作业中配置的 Jenkins 作业 URL 和 GIT URL. 例如: 假设我的 Jenkins URL 是:http://localhost:8080 &我的 git URL 是 ssh://git:424 如果我从 Jenkins 运行 groovy 代码,它应该返回: http://localhost:8080/job_name1 |ssh://gi
..
我在 Jenkins 2.73.1 中使用多分支管道 复制Artifact Plugin 要从其他两个管道获取最后成功的工件,请参阅我的 Jenkinsfile: def branchname = "${BRANCH_NAME}".replace("/", "%2F")管道{代理人 {标签“窗户"}阶段{阶段('获取工件'){脚步 {脚本 {并行('获取后端':{step([$class: 'C
..
我不喜欢当我使用 ansiColor 插件输出消息时,它会打印很多额外的大括号和单词.如何解决? Jenkins 流水线方法: def printVariable(String message) {ansiColor('xterm') {echo "\033[34m ${消息} \033[0m"}} 呼叫: printVariable("ENVIRONMENT: ${ENVIRONME
..
作为 QA 管道(在 Jenkins 中)的一部分,目标是自动配置和配置 VM 以运行 QA 测试. Jenkins 管道可以触发 Terraform 代码以自动配置 VM 和用于配置 VM 的 ansible 代码,但是,回滚、错误处理等问题并不容易,除非我们使用一些供应商特定的模板,例如 AzureResourceManager 模板. 那么,对于 Jenkins 管道,在 Azu
..
我来自这篇文章 定义变量在 Jenkins Pipeline 的 shell 脚本部分中 我的情况如下,如果生成的文件发生更改(它们每几周或更短时间更改一次),我有一个管道正在更新一些文件并在我的存储库中生成 PR. 在我的管道结束时,我有一个发布操作,可以通过电子邮件将结果发送到我们的团队连接器. 我想知道能否以某种方式生成一个变量并将该变量包含在我的电子邮件中. 它看起
..
我不需要 cron 作业,因为构建只需要在生产中运行一次,而不是定期运行.有没有办法在没有 cron 的情况下在预定时间构建管道. 解决方案 一种方法是 - 你可以远程触发它https://www.jenkins.io/doc/book/using/remote-access-api/ 假设你有一个 Linux 机器,你可以使用“at"来安排它.命令 周五晚上 9:30curl -
..
我目前正试图从我的管道中运行一个 groovy 脚本作为我的节点之一,但我遇到了这个错误: [CompanyName] 运行 shell 脚本+ ./ideainspect.groovyenv:groovy:没有这样的文件或目录 另外,我尝试为 groovy 安装插件,但由于某种原因,它无法安装.每当我刷新工具页面时,安装程序就会消失.我安装groovy错了吗?请帮忙! 编辑:相关数
..
我想通过节点和标签插件运行将节点设置为参数的管道. 如何更改声明式管道 管道{代理人 {标签“随便"}... 使用 EXECUTION_NODE 作为代理来执行管道?这似乎比我想象的要复杂得多,或者我遗漏了一些明显的东西. 解决方案 问题是这样的:给你呈现“带参数构建"页面,Jenkins 需要运行你的管道并解析它的参数.要运行管道,Jenkins 需要一个节点.要拥有一个节点
..
我正在使用 Jenkins v:1.647 和 Pipeline 插件 v:1.14.我的管道作业提取了一个运行我的编排的 groovy 脚本.我的问题是我有一个可执行的 jar,它将执行一些 Scalar API 操作并返回一个新的服务器主机名,传入标准输出.我有一个在 Jenkins 之外工作的工作片段. def serverHostName = "java -jar scalr-api.j
..
我正在尝试解析 BATS 脚本的输出 (https://github.com/gaia-adm/docker-bench-test) 输出为 TAP 格式.我稍微修改了脚本以涵盖 CIS 1.13 而不是 1.11,但我不知道如何让 Jenkins Pipeline 处理该输出. 我知道有一个用于 TAP 格式的 Jenkins 插件,但我认为这不适用于 Jenkins Pipeline G
..
在 Jenkins 的 groovy 中是否有一种方法可以获取任意字符串变量——比如对另一个服务的 API 调用的结果——并让 Jenkins 在控制台输出中将其屏蔽,就像它自动为从凭据管理器读取的值所做的那样? 解决方案 更新解决方案:要隐藏变量的输出,您可以使用 Mask Password Plugin 这是一个例子: String myPassword = 'toto'节点{
..
Stage("执行") {脚步 {bat '启动 cmd.exe/c c:\\users\\doc\\sample.bat'}} 上面的脚本只是打开cmd提示符并执行它.它没有获取执行的输出.即使执行失败,该阶段也显示为成功,并进入下一个阶段进行部署.我想开发它,以便 cmd 提示符中的输出应该被 Jenkins 当作输入,并且阶段应该继续.如果阶段在执行期间失败,阶段应该显示失败,如果执行成功
..
我想使用管道部署战争文件.什么是正确的做法.有没有办法在管道代码中使用部署到容器.使用 jenkins manager 调用 catalina.sh 或使用 curl 命令进行部署的问题是我找不到任何检测成功部署的方法. 有没有标准的方法来做到这一点 解决方案 在tomcat中,部署war有两种选择: 将战争复制到 webapps 文件夹 将战争上传到您的 tomcat 发布
..
从并行步骤收集数据(例如通过/失败结果)的最佳方式是什么. 到目前为止我已经达到了什么: #!groovydef fspam(名称,垃圾邮件){spam[name] = "也去过那里"}//管道节点('奴隶'){阶段(“测试"){目标 = ["a", "b"]定义任务 = [:]默认垃圾邮件 = [:]目标.each{ 任务["${it}"] = {节点('奴隶'){echo "试运行 $
..
我正在编写一个新的 Jenkins 管道,并有一组我最终希望并行运行的步骤.但是,当我正在开发这条管道时,我想强制它按顺序运行.我没有看到任何方法来指定并行步骤使用的线程数或类似的东西.这是到目前为止的基本代码: node('x') {阶段(“清理"){def cleanupScripts = [:]cleanupScripts[1] = { sh(script: "cleanup1.sh")
..
我正在关注 上的教程管道库插件.我创建了一个包含以下文件的存储库: D:.│ Test.groovy│├───src└────变量helloWorld.groovy helloWorld.groovy 包含: def 调用(名称){回声“你好世界,${name}"} Test.groovy 包含: helloWorld("乔") 我安装了所有管道插件,尤其是 workflow-cps-
..
我们过去可以通过以下方式检查参数是否可用: binding.variables.containsKey() 或 getBinding().hasVariable() 但这至少从 Jenkins v 2.39 开始不再有效.(这些函数适用于 groovy 脚本中设置的变量,但不适用于“使用参数构建"中的参数.) 解决方案 不要使用binding.variables.containsK
..
使用 Jenkins 2 中的 Snippet Generator 工具,我可以像在工作中一样设置一个插件,然后它会生成我可以在我的 Pipeline 脚本中使用的 Groovy. 但是,如果我对检测感兴趣的插件未列在 Snippet Generator 的“示例步骤"下拉列表中怎么办?如何确定如何创建脚本块来检测我要使用的插件? 就我而言,我想使用“灵活发布" 我的 Pipeline
..
我正在使用声明性管道语法.我的 jenkins 文件存储在 git hub 存储库中,与要构建的代码分开,因此我设置了 jenkins 作业以从 scm 获取管道脚本,并在 master 分支上选择我的 git 存储库.在我的管道脚本中,我使用 checkout 步骤从另一个源(在我的例子中是一个 RTC 存储库,但我想另一个 git 存储库将是相同的场景)获取我的真实代码.一切正常,如果我能够通
..