从属性文件加载属性并使它们在整个作业管道中可用-Jenkins声明性语法

从属性文件加载属性并使它们在整个作业管道中可用-Jenkins声明性语法,第1张

属性文件加载属性并使它们在整个作业/管道中可用-Jenkins声明性语法

我想出了两种方法来外部化Jenkins管道中的属性。您可以根据主要差异选择选择。

1)完全使用常规代码。此代码段将要求您在脚本安全性插件随附的“进程内脚本批准”中启用多个方法签名,因此,应在经过适当考虑后再进行 *** 作。

properties = nulldef loadProperties() {    node {        checkout scm        properties = new Properties()        File propertiesFile = new File("${workspace}/pipeline.properties")        properties.load(propertiesFile.newDataInputStream())        echo "Immediate one ${properties.repo}"    }}pipeline {    agent none    stages {        stage ('prepare') { agent any steps {     script {         loadProperties()         echo "Later one ${properties.branch}"     } }        }        stage('Build') { agent { label 'master'  } steps {     // works fine. properties is available everywhere     echo properties.branch }        }    }}

2)使用管道实用程序步骤插件-管道插件套件默认情况下包括此插件,它允许在无需启用安全异常的情况下更好地加载属性。我会推荐这种方法。

properties = nulldef loadProperties() {    node {        checkout scm        properties = readProperties file: 'pipeline.properties'        echo "Immediate one ${properties.repo}"    }}pipeline {    agent none    stages {        stage ('prepare') { agent any steps {     script {         loadProperties()         echo "Later one ${properties.ansible}"     } }        }        stage('Build') { agent any steps {     echo properties.branch }        }    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5564813.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存