Jenkins -将withCredentials转换为声明式语法

umuewwlo  于 2022-12-26  发布在  Jenkins
关注(0)|答案(2)|浏览(142)

我有一个jenkins管道,它是使用脚本语法编写的,我需要使用声明式样式将其转换为新的管道。
这是我和jenkins的第一个项目,我一直在研究如何在声明性jenkins中翻译withCredentials语法。
原始(脚本化)管道如下所示:

stage('stage1') {
     steps {
        script {
            withCredentials([usernamePassword(credentialsId: CredentialsAWS, passwordVariable: 'AWS_SECRET_ACCESS_KEY', usernameVariable: 'AWS_ACCESS_KEY_ID')]) {
                parallel (
                    something: {
                         sh 'some commands where there is no reference to the above credentials'
                    }
                )
            }
        }
     }
}

到目前为止,我已经将所讨论的凭据设置为环境变量,但由于在原始管道中,这些凭据没有在命令中引用,而只是将命令 Package 为“withCredentials”,因此我不确定如何实现相同的结果。

bttbmeg0

bttbmeg01#

首先看一下官方文件
对于您的案例,管道将如下所示:

pipeline {
    agent any
    environment { 
        YOUR_CRED = credentials('CredentialsAWS') 
    }
    stages {
        stage('Call username and password from YOUR_CRED') {
            steps {
                echo "To call username use ${YOUR_CRED_USR}"
                echo "To call password use ${YOUR_CRED_PSW}"
            }
        }
    }
}
h5qlskok

h5qlskok2#

Jenkinsfile (Declarative Pipeline)
   pipeline {
      agent any
        parameters {
string(name: 'STATEMENT', defaultValue: 'hello; ls /', description: 'What should I say?')
 }
  stages {
    stage('Example') {
     steps {
    /* CORRECT */
    sh('echo ${STATEMENT}')
      }
     }
    }
   }

visit here

相关问题