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