我想使用NodeJS,Github和Jenkins创建一个简单的作业。 在两个服务器地址上运行的交换是: 例如us.exchange.com和eu.exchange.com。 我创建了一个名为SERVERS_LOCATION的环境变量,
browser.get(`http://${process.env.SERVERS_LOCATION}.exchange.com`);
,还有一个名为SERVERS_LOCATION_JEN的Jenkins参数,可能有两个选择-美国和欧盟。
我还在Jenkins中创建了一个管道,在其中我要通过选择一个或另一个选项来运行参数化的构建,为此,我在 jenkinsfile 中使用管道脚本,如下所示:
pipeline{
agent any
options{
disableConcurrentBuilds()
}
stages{
stage("install npm"){
steps{
bat "npm install"
bat "npx webdriver-manager update --versions.chrome 76.0.3809.68"
}
}
stage("executing job"){
steps{
bat "SERVERS_LOCATION=%SERVERS_LOCATION_JEN% npx protractor config/conf.js"
}
}
}
}
主要思想是从Jenkins变量SERVERS_LOCATION_JEN中获取选择的值,并将其放入环境变量$ {process.env.SERVERS_LOCATION}中,该变量可在代码中用于后续调用。
但是当我运行此作业时,出现错误:
'SERVERS_LOCATION' is not recognized as an internal or external command,operable program or batch file.
P.S。从git-bash运行该工作正常。 (Win10 Chrome浏览器)
您能指出我做错了什么吗?
答案 0 :(得分:0)
您必须使用“ set ”命令为变量批量分配值,因此请使用以下代码:-
bat "set SERVERS_LOCATION=%SERVERS_LOCATION_JEN% npx protractor config/conf.js"