我想知道是否有人见过以下内容。我已经设置了ENV Vars(ubuntu 14.04)
CERT_PATH=/home/ubuntu/certs/developer.cert.co.uk.pem
CA_PATH=/home/ubuntu/certs/ca.pem
然后我在js脚本中抓取这些值
var certPath = process.env.CERT_PATH;
var caPath = process.env.CA_PATH;
但我很遗憾为什么其中一个变量在路径中返回null
-- console log here
CERT Path: null/certs/developer.cert.co.uk.pem
CA Path: /home/ubuntu/certs/ca.pem
我不明白的是,OSX上的相同设置没有此问题
答案 0 :(得分:1)
在管道groovy脚本中使用 env.CERT_PATH = /home/ubuntu/certs/developer.cert.co.uk.pem
答案 1 :(得分:1)
虽然我无法解释为什么我在我的路径中变为空,但在我的管道的相关部分周围使用withEnv
块是我最终做的。
我通常这样做,但我认为我可以全局设置ENV var并且能够从中读取而不需要这样,但似乎不是这样的
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"
}
}