2014-08-28 12 views
7

Ho bisogno di eseguire jenkins build utilizzando uno specifico ambiente conda sul nostro server jenkins (in esecuzione su Windows). Ho pensato che sarebbe stato così facile come in esecuzione:Come attivare l'ambiente conda in jenkins build

activate myenv 
python test_env.py 

ma questo sembra causare l'accumulo per uscire, invece, prima che lo script si avvia ancora. Ecco il log della console di jenkins:

activate myenv 
Activating environment "myenv"... 
Finished: SUCCESS 

Se rimuovo la riga di attivazione, lo script Python viene eseguito correttamente.

Cordiali saluti, lo script Sono in esecuzione:

import os 

f = open('env.txt','w') 

for k, v in os.environ.iteritems(): 
    print k, v 
    f.write('%s\t%s\n' % (k,v)) 
f.close() 

Qualcuno sa cosa sta succedendo? Dovrei chiamare direttamente l'eseguibile python pertinente?

risposta

2

Penso che lo script di attivazione su Windows avvia una nuova sottoshell che significa che la shell corrente esiste immediatamente. Puoi provare a impostare manualmente le variabili ENV come PATH e così via invece di usare activate?

+1

Hi Bradley, Sì, mi sembra di farlo, in pratica anteporre le cartelle myenv/bin e myenv/Scripts a PATH. Ho fatto la domanda perché non so cos'altro fa "attivare" ... sarà sufficiente? – Jahfet