首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins代理节点上的Jenkins共享库脚本

Jenkins代理节点上的Jenkins共享库脚本
EN

Stack Overflow用户
提问于 2021-07-13 01:03:32
回答 2查看 730关注 0票数 0

我注意到JSL脚本只在Jenkins上执行,是否可以在Jenkins代理上运行JSL脚本?

我的管道中有多个阶段,我希望在不同的Jenkins代理节点上运行这些阶段。

我使用JSL的主要动机是在使用"replay“进行开发时使用端到端管道可测性,在这里我可以修改Jenkinsfile以及JSL的脚本。

这是我管道的片段--

代码语言:javascript
复制
pipeline {
   agent { label 'scdc-generic-w10x64' }
   options {
      timestamps()
   }
   stages {
      stage('Log ip') {
        steps {
            script {
               bat "ipconfig -all"   // *** Gets executed on Jenkins Agent ***
               foo = jsl.foo.new(this) // foo is a Groovy class in JSL
               foo.logIpAddress()   // *** Gets executed on Jenkins Master ***
            }
         }
      }
   }
   post {
      always {
         cleanWs()
      }
   }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-15 22:19:26

我也把这个问题发布在JenkinsUser谷歌集团上。JSL脚本只在Jenkins Master上执行,这是由设计完成的。

关于-- https://groups.google.com/g/jenkinsci-users/c/t66PLaAvcgw/m/Ruo97K2AAgAJ的更多细节

票数 0
EN

Stack Overflow用户

发布于 2021-07-13 04:54:19

是的,您可以使用agent{label <Your agent name>}在不同的代理上执行不同的阶段。您还需要确保您的共享库也在代理中。

注意:在那个阶段,所有的事情都将在那个代理上执行。

代码语言:javascript
复制
stage('Log ip') {
agent { label "<Your agent name>" }
        steps {
            script {
               bat "ipconfig -all"  
               foo = jsl.foo.new(this) 
               foo.logIpAddress()   
            }
         }
      }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68355310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档