Fra*_*ell 7 jenkins jenkins-pipeline
我想在不同的部署之间重用代码,例如分段和生产,以便唯一的区别是环境变量?
我想它看起来像这样:(虽然这显然不起作用).
pipeline {
stage("Dev Deploy"){
environment {
PROP1 = "abc"
}
deploy ()
}
stage("Prod Deploy"){
environment {
PROP1 = "xyz"
}
deploy ()
}
}
deploy = steps{
sh "./gradlew deploy -Pproperty1=${env.PROP1}"
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
你很亲密 你不能用直接的声明来完成它,但是如果你混合使用一点脚本,你可以用一个Closure完成这个."步骤"必须在每个阶段,因此您可以运行"脚本",但Closure定义为deploy可以在其中执行任何常规步骤.
def deploy = {
sh "./gradlew deploy -Pproperty1=${env.PROP1}"
}
pipeline {
agent any
stages {
stage("Dev Deploy"){
environment {
PROP1 = "abc"
}
steps {
script {deploy ()}
}
}
stage("Prod Deploy"){
environment {
PROP1 = "xyz"
}
steps {
script {deploy ()}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
855 次 |
| 最近记录: |