2013-06-12 21 views
5

quindi ho uno script bash in cui io uso le variabili d'ambiente da Jenkins ad esempio: QUALIFIER = echo $BUILD_ID | sed "s/[-_]//g" | cut -c1-12Come utilizzare le variabili d'ambiente Jenkins nello script python

In sostanza sto prendendo la build id, insieme a nome del lavoro per determinare quale script chiamare dal mio script principale. Voglio invece usare python quindi mi chiedevo se posso usare queste variabili senza la jenkins python api.

Spero che la domanda abbia un senso. Grazie

+1

si può spiegare ciò che vuoi? –

+1

Ho bisogno di utilizzare le variabili di ambiente in Jenkins come JOB_NAME per decidere quale script chiamare. Ho uno script bash che ottiene queste variabili ma volevo farlo in uno script python. Come ottengo queste variabili in Python? –

+0

vedere questo, http: //docs.python.org/2/library/subprocess.html –

risposta

7

Questo è ciò che vi serve se ho capito bene:

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

E nello script Python:

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

o senza la parte della shell:

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

Ma avrei bisogno del mio script bash così come di Python si prende il 'QUALIFICATORE'? $ BUILD_ID rende la variabile di ambiente jenkins disponibile per lo script di bash. È in qualche modo possibile renderlo disponibile allo script Python senza dover usare quello bash? –

+0

In realtà non importa! Grazie mille, questo funziona per me –

+0

Puoi accedere a '$ BUILD_ID' esattamente allo stesso modo (usando' os.environ') e quindi rimuovere i trattini e tagliarli in Python. –

Problemi correlati