繁体   English   中英

用于 jenkins 的 groovy 管道的参数化

[英]Parameterisation of a groovy Pipeline for use with jenkins

我有一个 groovy 管道,它是从我分叉的项目中继承的。

我希望将 Jenkins 选择参数作为参数化构建传递。 目前,我只希望公开运行环境(但希望在稍后阶段进一步参数化),以便用户可以从 Jenkins 下拉列表中选择它并按需使用。

我使用了代码片段生成器来提供帮助。

有人可以帮忙语法吗? 我正在使用带有 package.json 的 Node 来运行脚本并传入devuat

properties([[$class: 'BuildConfigProjectProperty', name: '', namespace: '', resourceVersion: '', uid: ''], parameters([choice(choices: 'e2e\nuat', description: 'environment ', name: 'env')])])

node('de-no1') {
        try {
            stage('DEV: Initialise') {
            git url: 'https://myrepo.org/mycompany/create-new-user.git', branch: 'master', credentialsId: CREDENTIALS_ID
        }
        stage('DEV: Install Dependencies') {
            sh 'npm install'
        }

        stage('${params.env}: Generate new users') {
            sh 'npm run generate:${params.env}'
            archiveArtifacts artifacts: '{params.env}-userids.txt', fingerprint: true
        }

这目前失败:

npm ERR! missing script: generate:{params.env}

假设你想在调用 npm 时将${params.env}替换为一个值?

如果是这种情况,您需要使用双引号"让 Groovy 知道您将执行字符串模板...即:

            sh "npm run generate:${params.env}"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM