我正在尝试根据传递到作业中的参数在Jenkins管道作业中设置环境变量;这样,我可以在需要它的管道的每个阶段使用环境变量。我尝试在环境块中使用Switch语句:
parameters {
choice(name: 'ENVIRONMENT', choices: 'dev\nst\nprod', description: 'Environment')
}
environment {
script {
switch(env.ENVIRONMENT) {
case 'dev':
BRANCH = master
break
case 'st':
BRANCH = 2020Q1
break
case 'prod':
BRANCH = 2019Q4
break
}
}
}
然而,这并不起作用,该作业试图将等号之前的所有行评估为KEY名称:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 9: "script {
switch(env.ENVIRONMENT) {
case 'dev':
BRANCH" is not a valid identifier and cannot be used for an environment variable. Identifiers must start with a letter or underscore and can contain only letters, numbers or underscores. @ line 9, column 7.
script {
我该如何让它工作?
实现这一点的方法很少。这是其中之一:
parameters {
choice(name: 'ENVIRONMENT', choices: 'dev\nst\nprod', description: 'Environment')
}
stages(){
stage("some stage"){
steps {
script{
switch(env.ENVIRONMENT) {
case 'dev':
env.BRANCH = "master"
break
case 'st':
env.BRANCH = "2020Q1"
break
case 'prod':
env.BRANCH = "2019Q4"
break
}
withEnv(["BRANCH=${env.BRANCH}"]) {
...................................
...................................
...................................
}
}
}
}
}
问题内容: 我有一个项目,需要根据用户选择的选择参数设置环境变量。每个项目都有一个主题项目依赖项。我想让用户选择项目,然后从属性文件中加载主题名称。就像是 如果用户从choice参数中选择,我想自动设置为。最好的方法是什么? 每当添加新项目时,我都不想修改Jenkins作业配置。相反,我想将映射保存在文件中,以便可以在版本控制中使用它。 问题答案: 啊哈,我找到了一个简单的解决方案!使用EnvIn
ENV 设置环境变量 格式有两种: ENV <key> <value> ENV <key1>=<value1> <key2>=<value2>... 这个指令很简单,就是设置环境变量而已,无论是后面的其它指令,如 RUN,还是运行时的应用,都可以直接使用这里定义的环境变量。 ENV VERSION=1.0 DEBUG=on \ NAME="Happy Feet" 这个例子中演示了如何换行,以
我有一个基于REST的java web应用程序,使用Java8,MyBatis 3.4.5部署在Wildfly application Server上。在这个应用程序中,我有一个DB jar模块,它管理从/到应用程序/DB的所有查询、连接、对象。我所有其他必须与DB交互的Java代码(控制器、方法、类)都使用这个DB模块。 作为标准的MyBatis实现,我在DB模块中有这些包 my/app/oj/
问题内容: 我在运行show时有一个file.sh:未设置TERM环境变量。 问题答案: 您可以看到它是否真的没有 设置 。运行命令。 如果没有,则可以这样设置:
3.1.1.设置PATH环境变量 Android SDK里有个目录,主要的工具都在里面。我们将会频繁地用到这些工具,因此把你的~/android-sdk/tools/目录加入系统的环境变量PATH会是个好办法,这一来就不需要每次使用它们时都切换目录了。 不同系统设置环境变量的方式各有不同,详见Installing Android SDK页面中的第二步。 (译注:Installing Android
当我加载我的应用程序时,我得到这个: 我正在尝试遵循这个:谷歌视觉文档 我已经运行了命令: 然后在客户端 Libary 上,它说我必须设置一个客户端库?我已经用他所有正确的事情做了这件事,然后它说- 接下来,通过将环境变量GOOGLE_APPLICATION_CREDENTIALS设置为指向在上一步中下载的JSON文件,为应用程序代码提供凭据。 并执行以下操作:< code >设置GOOGLE _