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

阿里尔马

我有一个带有凭据参数(用户名和密码)的管道作业,还有一个运行触发 python 文件的 shell 脚本的 groovy 文件。如何将这些参数传递给 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
}

这样做的正确方法是什么?

来自 jenkins 管道的凭证参数

阿里尔马

正确的语法:

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')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将bash参数传递给python脚本

从Java将变量传递给python脚本

将外壳环境变量作为参数传递给npm脚本

从bash脚本将参数传递给python

将环境变量作为参数传递给npm脚本的跨平台方式

如何通过请求将环境变量从python脚本传递到gitlab ci?

如何将管道参数传递给Shell脚本

如何将包含列表的变量作为参数传递给另一个python脚本

有没有办法将环境变量传递给python脚本?

从bash脚本将列表作为变量传递给python脚本

将环境变量传递给jenkins管道bash脚本

通过SSH将dict作为参数传递给Python脚本

将bash变量传递给python脚本

如何将变量日志作为参数传递给脚本?

避免将环境变量传递给python脚本

使用SSH将本地环境变量传递给Windows服务器上的Python脚本

如何使用argparse模块将文件作为参数传递给python脚本中的参数?

使用bash脚本运行时如何将参数传递给python脚本?

将字符串作为参数传递给 python 脚本

QProcess 将参数传递给 python 脚本

如何将python变量传递给bash脚本?

将参数传递给 python 脚本的问题

如何将机器人脚本中的多个参数传递给python

如何将参数作为 JSON 传递给 python 脚本

将参数传递给 DataFactory 管道中的 python 脚本

如何将参数传递给具有 python 脚本的 docker 图像

将变量从 Python 传递给 bash 脚本

将变量组作为字典传递给 Python 脚本

如何将环境变量的 r 值作为 NPM 脚本的 CLI 参数传递