2013-06-12 2 views
5

поэтому у меня есть Баш скрипт, в котором я использую переменные окружения из Дженкинс , например: Классификатора = echo $BUILD_ID | sed "s/[-_]//g" | cut -c1-12Как использовать переменные окружения Дженкинс в питоном скрипте

По существу я беру сборку идентификатор, наряду с имя задания, чтобы определить, какой сценарий вызывается из моего основного сценария. Я хочу использовать python, поэтому мне было интересно, могу ли я использовать эти переменные без jenkins python api.

Надеюсь, вопрос имеет смысл. Благодаря

+1

вы можете объяснить что ты хочешь? –

+1

Мне нужно использовать переменные окружения в Jenkins, такие как JOB_NAME , чтобы решить, какой скрипт вызывать. У меня есть скрипт bash, который получает эти переменные, но я хотел сделать это в скрипте python. Как получить эти переменные в python? –

+0

см. Это, http: //docs.python.org/2/library/subprocess.html –

ответ

7

Вот что вам нужно, если я вас правильно понял:

QUALIFIER="$(echo $BUILD_ID | sed "s/[-_]//g" | cut -c1-12)" 
export QUALIFIER 
python my_script.py 

И в сценарии Python:

import os 
qualifier = os.environ['QUALIFIER'] 

или без части оболочки:

import os 
import re 
qualifier = re.sub(r'[-_]+', '', os.environ['BUILD_ID'])[0:12] 
+0

Но нужен ли мне мой скрипт bash, а также python, который берет «QUALIFIER»? $ BUILD_ID делает переменную среды jenkins доступной для скрипта bash. Как-то я могу сделать его доступным для скрипта python без необходимости использовать bash? –

+0

На самом деле, неважно! Большое спасибо, это работает для меня –

+0

Вы можете получить доступ к '$ BUILD_ID' точно так же (используя' os.environ'), а затем удалить тире и нарезать его в Python. –

Смежные вопросы