【问题标题】:How to use "Parameterized Remote Trigger Plugin" in Jenkins Pipeline script?如何在 Jenkins Pipeline 脚本中使用“参数化远程触发插件”?
【发布时间】:2017-01-17 09:59:57
【问题描述】:

我尝试搜索但没有找到任何示例。我试过https://jenkins.io/doc/pipeline/examples/#trigger-job-on-all-nodes 并得到它是针对同一个詹金斯上的不同节点的。 我想在另一个 Jenkins 上触发构建。我在 Jenkins 的系统配置中配置了远程主机和身份验证。 如何在 Jenkins Pipeline 脚本中调用“参数化远程触发插件”?

【问题讨论】:

    标签: jenkins jenkins-plugins jenkins-pipeline


    【解决方案1】:

    似乎是一个开放的错误:https://issues.jenkins-ci.org/browse/JENKINS-38657

    作为一种解决方法,您可以在本地创建另一个旧类型的作业,并以旧式非管道脚本方式使用插件。然后在您的管道脚本中,您将触发这项工作。我知道这是一个丑陋的适配器,但是你已经对这个适配器进行了参数化,并让它几乎可以运行任何东西;)

    编辑:

    错误 38657 已经关闭,该插件自 2018 年 5 月 16 日起可作为管道步骤使用。使用应该很简单:

    //Trigger remote job
    def handle = triggerRemoteJob(remoteJenkinsName: 'remoteJenkins', job: 'RemoteJob')
    

    更多关于the triggerRemoteJob step的信息

    【讨论】:

      【解决方案2】:

      对于任何想知道如何使用声明式 Jenkinsfile 语法的人:

      steps {
         triggerRemoteJob remoteJenkinsName: 'configured-remote-jenkins-name', job: 'trigger-job-folder/trigger-job-name', blockBuildUntilComplete: true
      }
      

      【讨论】:

      • 你如何传递一个用户令牌?
      • @kayleeFrye_onDeck 对于令牌,你需要这样的东西: import hudson.util.Secret ... def buildResult = 'org.jenkinsci.plugins.ParameterizedRemoteTrigger.pipeline.RemoteBuildPipelineStep'( remoteJenkinsUrl: " the_url", job: "the_job", 参数: 'MY_PARAM=value', auth: TokenAuth(apiToken: Secret.fromString("the-token"), userName: "username") )
      猜你喜欢
      • 2014-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-18
      • 1970-01-01
      • 2021-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多