【问题标题】:Jenkins Dynamic stage creation in declarative pipeline声明式管道中的 Jenkins 动态阶段创建
【发布时间】:2022-10-27 06:48:51
【问题描述】:

我需要创建一个动态的阶段。根据列表大小,它将有 X 个阶段。他们每个人在分配和准备之前都会有阶段。由于它们必须并行运行,因此必须在每个测试机器人上执行这些阶段。

我遇到的问题是由于动态舞台创建,所有内容都必须在脚本块中,但我不能在其中使用大多数东西,如代理、舞台块等。

java.lang.NoSuchMethodError: No such DSL method 'agent' found among steps [VersionNumber, archive, bat, build, catchError, checkout, compareVersions, container, containerLog, deleteDir, dir, dockerFingerprintFrom, dockerFingerprintRun, dockerNode, echo, emailext, emailextrecipients, envVarsForTool, error, fileExists, findBuildScans, findFiles, gerritCheck, gerritComment, gerritReview, getContext, git, input, isUnix, jiraAddComment...

【问题讨论】:

    标签: jenkins jenkins-pipeline jenkins-groovy jenkins-declarative-pipeline


    【解决方案1】:

    当您使用脚本语法时,您不能使用像agent 这样的声明性语法。而不是使用agent 使用node

    node('label') {  
        stage('Build') { 
            //Something 
        }
    

    【讨论】:

    • 脚本块是否突然被视为脚本管道?目前整个管道是声明性的,这导致我在脚本块中出现问题
    • @workingJeff您可以在脚本块之外使用声明性语法。但是 Script 块中的任何内容都应该遵循脚本化的 Pipeline 语法。
    猜你喜欢
    • 2021-08-02
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    相关资源
    最近更新 更多