2017-03-29 3 views
2

Ich fragte mich, ob jemand jemals das folgende gesehen hat. Ich habe ENV Vars (ubuntu 14.04) einrichtenEnv var zurückkehrenden Null im Pfad

CERT_PATH=/home/ubuntu/certs/developer.cert.co.uk.pem 
CA_PATH=/home/ubuntu/certs/ca.pem 

ich dann diese Werte in einem js Skript

var certPath = process.env.CERT_PATH; 
var caPath = process.env.CA_PATH; 

greifen, aber ich bin ratlos, warum eine der Vars Rückkehr null in der

Weg
-- console log here 
CERT Path: null/certs/developer.cert.co.uk.pem 
CA Path: /home/ubuntu/certs/ca.pem 

Was ich nicht verstehe, ist das gleiche Setup auf OSX dieses Problem nicht haben

+0

Was die Laufzeitkontext benutzt um die env vars zu setzen? –

Antwort

1

In der Pipeline groovy Skript einfach verwenden env.CERT_PATH = /home/ubuntu/certs/developer.cert.co.uk.pem

1

Obwohl ich nicht erklären kann, warum ich null in meinem Weg bekommen, mit dem withEnv Block um das relevante Stück meiner Pipeline war, was ich getan habe.

ich normalerweise tun dies aber ich dachte, das ENV var global einstellen könnte und in der Lage sein, sich von dem zu lesen, ohne die Notwendigkeit, so dass diese, aber scheint nicht der Fall sein

withEnv(["CA_PATH=/home/ubuntu/certs/ca.pem", "CERT_PATH=/home/ubuntu/certs/developer.cert.co.uk.pem"]) { 
try { 
    sh '''#!/bin/bash -l 
     run tests 
     ''' 
    TESTS = 'success' 
} catch (Exception err) { 
    TESTS = "failure" 
} 
}