jenkins相关内容
我正在开发一个用于 Jenkins 2.0 的 Jenkinsfile.readMavenPom 方法无法识别.我是否缺少一些配置以使其可用? 我的 Jenkins 文件: node {阶段“结帐"结帐单片机env.PATH = "${tool 'maven-3'}/bin:${env.PATH}"阶段“构建"def pom = 读取 MavenPom 文件:'pom.xml'回声“${p
..
非常令人沮丧,我找不到这样的例子.如何设置默认选项? 参数{选择(默认值:'bbb',名称:'param1',选择:'aaa\nbbb\nccc',描述:“lkdsjflksjlsjdf")} defaultValue 在这里无效.如果管道以非手动方式运行(通过提交),我希望选择是可选的并设置默认值. 解决方案 您不能在选项中指定默认值.根据 choice 输入的文档,第一个选项将是默
..
为了自动化,我想用管道作业初始化一个 Jenkins 2.0 实例.我想创建一个在启动时复制到 /usr/share/jenkins/ref/init.groovy.d/ 文件夹的 Groovy 脚本.该脚本应创建一个 Jenkins 2.0 流水线作业,用于处理来自 SCM 的 Jenkinsfile. 我找不到 2.0 管道类的相关 Javadoc 或如何执行此操作的示例. 以前,
..
我的 .Jenkinsfile 是这样的: properties([[$class: 'GitLabConnectionProperty', gitLabConnection: 'gitlab@srv']])节点{env.JAVA_HOME = 工具 'JDK 7'def mvnHome = 工具'Maven 3.2.2'def nodeJS = 工具 'IA_NodeJS'env.PATH =
..
我正在尝试动态构建并行阶段,如 here 和 这里.具体来说,我试图在管道范围之外定义的函数中执行此操作,例如: 管道{阶段{阶段('CI'){脚步{doDynamicParallelSteps()}}}}def doDynamicParallelSteps(){测试 = [:]for (f in findFiles(glob: '**/html/*.html')) {测试["${f}"] =
..
如何使用 Jenkins REST API 获取作业的详细信息及其控制台输出 构建示例 控制台输出: 我正在使用以下命令来获取控制台日志的路径 回显 $JENKINS_HOME/jobs/$JOB_NAME/builds/${BUILD_NUMBER}/log 回显 $BUILD_URL/consoleText 它将提供控制台日志的路径 http://lo
..
我需要在 Jenkins 管道中解析一些 JSON 并在循环中调用一些常规方法,但是脚本总是在第一次函数调用后退出.如何做到这一点? 导入 groovy.json.JsonSlurper导入 com.cloudbees.groovy.cps.NonCPS@NonCPSdef myMethod(字符串 json){def jsonSlurper = 新的 JsonSlurper()def json
..
我在 Jenkins 中有一个动态脚本流水线,它有许多并行阶段,但在每个阶段中,都有多个串行步骤.我浪费了几天时间试图让它工作:无论我尝试什么,所有串行子阶段都集中在一个阶段!这是我现在拥有的: 节点(){阶段(“并行演示"){//并行运行步骤的规范示例//我们将在其中存储步骤的地图def stepToRun = [:]对于 (int i = 1; i
..
参考这个问题 有没有办法在使用多分支管道时获取等效信息?具体来说 - 自上次成功构建以来的提交列表. 目前我们使用如下 def scmAction = build?.actions.find { action ->jenkins.scm.api.SCMRevisionAction 的动作实例}返回 scmAction?.revision?.hash 但是如果推送了多个提交,这只会返回触发
..
我有一个 Jenkins,它使用 多分支项目.也就是说,当一个新的分支被创建到存储库时,Jenkins 会自动为该分支创建一个新的作业,并在该分支被移除时移除该作业. 现在,我想在删除分支时运行一些代码,以清除创建分支时创建的测试环境.有没有办法做到这一点? 解决方案 现在有 多分支动作触发器插件.这似乎具有我要求的功能.虽然没有测试. 此插件可以在创建或删除管道作业时,或者当
..
我想在 Jenkins 管道中使用 gcloud,因此我必须首先使用 Google 服务帐户进行身份验证.我正在使用 https://wiki.jenkins.io/display/JENKINS/包含我的私钥凭据的 Google+OAuth+Plugin.我坚持将凭据加载到管道中: withCredentials([[$class: 'MultiBinding', credentialsId:
..
我有一个可以使用和不使用参数的管道脚本.所以我必须检查参数是否可用. 我试过 if(getBinding().hasVariable("myparameter")) 但这会导致异常 org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: 脚本不允许使用方法 groovy.lang.Binding getVa
..
我目前开始将我们的构建转换为 Jenkins 构建管道.在某个时刻,我们有必要在 docker 容器中等待 Web 应用程序的启动. 我的想法是使用这样的东西: 超时(120){等到 {sh 'wget -q http://server:8080/app/welcome.jsf -O/dev/null'}} 不幸的是,这使得管道构建失败: 错误:脚本返回退出代码 4 有什么简
..
所以,我使用 Jenkins 已经有一段时间了.我已经使用 Github Pull Request Builder 插件设置了许多项目,以便在有人打开拉取请求时运行测试,然后在拉取请求实际合并到 master 时触发其他工作(构建、推送、部署等). 那么,有没有办法使用 Jenkinsfile、组织文件夹或多分支构建协议来设置它? 解决方案 github-organization-f
..
我正在将 jenkins-workflow 作业迁移到新的基于模板的工作流作业.因为内部版本号用作工作流生成的构建工件版本的一部分,所以我必须使用大于旧工作流的数字来启动新工作流的内部版本号.不幸的是,“下一个内部版本号"插件不适用于工作流管道. 有人知道这样做的好方法吗? 解决方案 尝试在 Jenkins 脚本控制台中运行以下脚本.将“workFlow"更改为您的 Jobname
..
Jenkins 声明式管道 提供 post 指令以在阶段完成后执行代码.是否有类似的事情来运行代码在阶段运行之前,最重要的是,在 SCM 结帐之前? 例如: pre {总是 {rm -rf ./*}} 这将在签出源代码之前清理我的构建工作区. 解决方案 pre 是一个很酷的功能想法,但还不存在.skipDefaultCheckout 和 checkout scm(与默认 chec
..
如何在 Jenkinsfile 中调用全局环境变量? 例如,如果我有一个变量 - name:credentialsId值:xxxx-xxxx-xxxx-xxxxxxxxx 如何在 groovy 脚本中使用它? 我尝试了 ${credentialsId},但没有成功.它只会给出错误: java.lang.NoSuchMethodError: No such DSL method '$
..
TLDR:我希望能够在 Jenkins 管道中的多个节点上同时运行作业.[ 例如 - 在节点 dev、test & 上构建应用程序 x基于 aws 的暂存节点] 我有一大组具有相同标签的节点.我希望能够在 Jenkins 中运行一个作业,该作业在 所有 具有相同标签的节点上执行并且同时执行. 我在Jenkins中看到了使用矩阵配置选项的建议,但我只能想到一个轴(标签组).当我尝试运行该
..
这是我的 Jenkins 2.x 管道: 节点('master'){阶段“结帐"结帐单片机阶段“构建 Pex"sh('build.sh')} 当我运行此管道时,结帐会按预期将代码放入工作区,但不是期望在工作区/中找到脚本(它真的在那里!),它会在一个不相关的目录中查找:workspace@tmp/durable-d812f509. 进入阶段 Build Pex进行中[管道] sh[工作区]
..
是否可以扫描多分支管道以使用 Jenkinsfile 检测分支,但不执行管道? 我的项目有不同的分支,当我从父管道多分支启动构建扫描时,我不希望所有带有 Jenkinsfile 的子管道分支都开始执行. 解决方案 在您的 Branch Sources 部分中,您可以添加一个名为 Suppress automatic SCM triggering 的属性. 这会阻止 Jenkin
..