栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从属性文件加载属性并使它们在整个作业/管道中可用-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 }        }    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573574.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号