Доступ к переменным из групп переменных внутри задачи сценария Python в конвейере Azure DevOps Yaml
Я использую задачу сценария Python типа «файл» в моем конвейере Azure DevOps Yaml. Мне нужно использовать переменные, которые я определил в моей группе переменных в файле Python. Следующее - моя задача по конвейеру yaml DevOps Azure.
- task: PythonScript@0
displayName: 'Run a Python script'
inputs:
scriptPath: 'pythonTest.py'
Любой совет о том, как я могу этого добиться?
Спасибо!
2 ответа
Вам нужно передать переменные в скрипт, используя аргументы, и вам, конечно же, нужно ссылаться на группу переменных:
variables:
- group: variableGroup
steps:
- task: PythonScript@0
displayName: 'Run a Python script'
inputs:
scriptPath: 'pythonTest.py'
arguments: --variableInScript $(variableInVariableGroup)
А затем используйте в скрипте argparse.
Если бы вы использовали встроенный скрипт, вы могли бы сделать это так:
- task: PythonScript@0
inputs:
scriptSource: 'inline'
script: |
print('variableInVariableGroup: $(variableInVariableGroup)')
Согласно официальной документации Azure DevOps :
Системные и пользовательские переменные также внедряются в качестве переменных среды для вашей платформы. Когда переменные превращаются в переменные среды, имена переменных становятся прописными, а точки превращаются в символы подчеркивания. Например, имя переменной any.variable становится именем переменной $ANY_VARIABLE.
Так что вам просто нужно получить доступ к соответствующей переменной среды из вашего скрипта. В Python это можно сделать с помощьюos.environ
словарь:
import os
my_var = os.environ["MY_VAR"]