gpt4 book ai didi

jenkins - 如何将阶段内的步骤移动到 Jenkins 管道中的函数

转载 作者:行者123 更新时间:2023-12-02 19:05:04 25 4
gpt4 key购买 nike

我有一个像这样的 Jenkinsfile

    pipeline {
agent { label 'master' }
stages {
stage('1') {
steps {
script {
sh '''#!/bin/bash
source $EXPORT_PATH_SCRIPT
cd $SCRIPT_PATH
python -m scripts.test.test
'''
}
}
}
stage('2') {
steps {
script {
sh '''#!/bin/bash
source $EXPORT_PATH_SCRIPT
cd $SCRIPT_PATH
python -m scripts.test.test
'''
}
}
}
}
}

如您所见,在这两个阶段我都使用相同的脚本并调用相同的文件。我可以将此步骤移至 Jenkinsfile 中的函数并在脚本中调用该函数吗?像这样

    def execute script() {
return {
sh '''#!/bin/bash
source $EXPORT_PATH_SCRIPT
cd $SCRIPT_PATH
python -m scripts.test.test
'''
}
}

最佳答案

是的,这是可能的,如下例所示:

Jenkins 文件

def doIt(name) {
return "The name is : ${name}"
}

def executeScript() {
sh "echo HelloWorld"
}

pipeline {
agent any;
stages {
stage('01') {
steps {
println doIt("stage 01")
executeScript()
}
}
stage('02') {
steps {
println doIt("stage 02")
executeScript()
}
}
}
}

关于jenkins - 如何将阶段内的步骤移动到 Jenkins 管道中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65169844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com