groovy相关内容

带有值列表的 Groovy Switch 语句

我想在 Jenkins 流水线作业中使用 Switch 语句. def 版本 = "1.2"开关(GIT_BRANCH){案例“发展":结果=“开发"休息案例 ["master", "support/${version}"]:结果=“列表"休息案例“支持/${版本}":结果=“支持"休息默认:结果=“定义"休息}回声“${结果}" 当 GIT_BRANCH 等于: develop - 返 ..
发布时间:2022-01-18 17:14:08 其他开发

在 init.groovy.d 脚本中使用管道初始化 Jenkins 2.0

为了自动化,我想用管道作业初始化一个 Jenkins 2.0 实例.我想创建一个在启动时复制到 /usr/share/jenkins/ref/init.groovy.d/ 文件夹的 Groovy 脚本.该脚本应创建一个 Jenkins 2.0 流水线作业,用于处理来自 SCM 的 Jenkinsfile. 我找不到 2.0 管道类的相关 Javadoc 或如何执行此操作的示例. 以前, ..

让 Jenkins 管道等到服务器启动

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

如何让 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管道作业:从字符串参数设置睡眠时间?

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

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 其他开发

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

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

Jenkinsfile Parameterized Builds 中的 Environment 和 Parameters 有什么关系?

我最近在与同事一起开发一些 Jenkins 构建时遇到了一些难题.他一直在使用 params.VARIABLE 和 env.VARIABLE 并且没有任何问题.同时,我开始在他通过这行代码的环境调用参数对象时收到空对象错误: if(!deploy_environments.contains(env.ENVIRONMENT_NAME.trim()) || params.INVOKE_PARAMET ..
发布时间:2022-01-18 17:08:17 其他开发

如何使用 Pipeline 引用 Jenkinsfile 目录?

我有一个 groovy 文件,我想从 Jenkinsfile 运行. 即.加载 script.groovy 但是,如果该文件与 Jenkinsfile 存储在同一目录中,我不确定如何引用它.我正在从 git 加载 Jenkinsfile.我注意到它创建了一个名为 workspace@script 的文件夹.它不会将它放在工作区目录中.我可以对文件夹进行硬编码,但我不确定这方面的规则,再 ..

在 IntelliJ 的 Java 项目中使用 .gdsl 文件

我有一个文件 pipeline.gdsl,其中包含我的 Jenkins Pipeline DSL 的语法.在 这篇博文之后,我将文件放入 /src 文件夹.当我现在编辑我的 Jenkinsfile (位于我的项目的根文件夹中)时,我没有得到任何我期望的代码完成/语法解释. 我的项目是一个 Java/Gradle 项目,我不能用它制作一个 Groovy 项目.是否有其他方法可以让 Intell ..
发布时间:2022-01-18 17:06:46 Java开发

从同一存储库加载 Jenkins Pipeline 共享库

TL;DR 有没有办法将代码从本地 存储库导入到 Jenkinsfile (除了 load 步骤)? 为什么? 我已经体验到,对于复杂的构建,Jenkinsfile 会变得有点笨重且不太易于维护. 既然构建工作是代码,那么拥有与其他代码相同的方法会很棒.也就是说,我想把它分成更小(更易于维护)的单元并单元测试它们. 我尝试了什么 共享库:允许将我们的 Jenkins 流水 ..
发布时间:2022-01-18 17:06:04 其他开发

在 Jenkins 管道中使用的 groovy 脚本中调用 shell 命令

我有一个 Jenkins 流水线脚本,其中我加载了一个外部 Groovy 脚本,其中包含一些函数来执行我的构建.这些功能应该是普通的,因为如果有人在某处的本地计算机上运行构建,我也想在 Jenkins 之外使用它们. 在这些函数中,我需要执行 shell 命令并评估结果.这在 groovy 调用类似 的函数时效果很好 def SomeFunction() {def result = "一 ..
发布时间:2022-01-18 17:05:29 其他开发

为什么 groovy 不能在 Jenkins 管道中运行?

我目前正试图从我的管道中运行一个 groovy 脚本作为我的节点之一,但我遇到了这个错误: [CompanyName] 运行 shell 脚本+ ./ideainspect.groovyenv:groovy:没有这样的文件或目录 另外,我尝试为 groovy 安装插件,但由于某种原因,它无法安装.每当我刷新工具页面时,安装程​​序就会消失.我安装groovy错了吗?请帮忙! 编辑:相关数 ..

Jenkins groovy 管道 - 需要从执行 jar 文件中输出命令的标准输出

我正在使用 Jenkins v:1.647 和 Pipeline 插件 v:1.14.我的管道作业提取了一个运行我的编排的 groovy 脚本.我的问题是我有一个可执行的 jar,它将执行一些 Scalar API 操作并返回一个新的服务器主机名,传入标准输出.我有一个在 Jenkins 之外工作的工作片段. def serverHostName = "java -jar scalr-api.j ..
发布时间:2022-01-18 17:04:04 其他开发