将声明式管道环境变量格式转换为脚本式管道环境变量格式

Convert Declarative Pipeline environment variable format to Scripted Pipeline environment variable format

我有一个脚本化的管道,我需要使用环境变量,它被称为声明性管道格式。你能告诉我如何将环境变量从声明式管道转换为脚本管道吗?声明管道中的变量是全局变量。

声明式管道环境变量。

环境{

AUTH_TOKEN = credentials('SCAN_AUTH_TOKEN')

}

在脚本化的 Piepline 中,要将秘密分配给环境变量,您必须这样做:

node {
  withCredentials([string(credentialsId: 'SCAN_AUTH_TOKEN', variable: 'TOKEN')]) {
    sh '''
      set +x
      curl -H "Token: $TOKEN" https://some.api/
    '''
  }
}

您可以将多种类型的凭据绑定到 env 变量。可以找到更多详细信息 here

您可以通过另一种方式(不是凭据)像这样使用 Env 变量:

node('windows') {
    withEnv(['DISABLE_AUTH=true',
             'DB_ENGINE=sqlite']) {
        stage('Build') {
            echo "Database engine is ${DB_ENGINE}"
            echo "DISABLE_AUTH is ${DISABLE_AUTH}"
            sh 'printenv'
        }
    }
}
#!groovy
def projectId
node('test-node')
{
stage('Fortify') 
    {   
             projectId = "Storeproject"
             withCredentials([string(credentialsId: 'FORTIFY_TOKEN',   variable: 'SECRET')])
              { 
               credentialToReUse = "${SECRET}" ;
                sh """
                    echo $projectId;
                    echo $credentialToReUse
                    
                    """
                
               } 
          
   } 

}