如何将管道凭证参数作为环境变量传递给python脚本

我有一个带有凭证参数(用户名和密码)的管道作业,还有一个运行触发python文件的shell脚本的常规文件。 如何将这些参数传递给env,以便python脚本可以将其与os.getenv一起使用? Groovy文件代码:

def call() {
    final fileContent = libraryResource('com/amdocs/python_distribution_util/main.py')
    writeFile file: 'main.py',text: fileContent

    sh "python main.py"}

我知道管道语法应类似于以下内容:

withCredentials([usernamePassword(credentialsId: '*****',passwordVariable: 'ARTIFactORY_SERVICE_ID_PW',usernameVariable: 'ARTIFactORY_SERVICE_ID_UN')]) {
    // some block
}

什么是正确的方法?

如何将管道凭证参数作为环境变量传递给python脚本

tianshixincq 回答:如何将管道凭证参数作为环境变量传递给python脚本

正确的语法:

def call() {
        def DISTRIBUTION_CREDENTIAL_ID = params.DISTRIBUTION_CREDENTIAL_ID

        withCredentials([usernamePassword(credentialsId: '${DISTRIBUTION_CREDENTIAL_ID}',passwordVariable: 'ARTIFACTORY_SERVICE_ID_PW',usernameVariable: 'ARTIFACTORY_SERVICE_ID_UN')]) {
        sh '''
            export ARTIFACTORY_SERVICE_ID_UN=${ARTIFACTORY_SERVICE_ID_UN}
            export ARTIFACTORY_SERVICE_ID_PW=${ARTIFACTORY_SERVICE_ID_PW}
    }
}

然后您可以使用config.py文件通过以下方式提取值:

import os

ARTIFACTORY_SERVICE_ID_UN = os.getenv('ARTIFACTORY_SERVICE_ID_UN')
ARTIFACTORY_SERVICE_ID_PW = os.getenv('ARTIFACTORY_SERVICE_ID_PW')
本文链接:https://www.f2er.com/3159692.html

大家都在问