繁体   English   中英

如何使用groovy在声明性jenkins管道中填充env变量

[英]How to use groovy to populate an env variable in a declarative jenkins pipeline

我正在努力使用groovy在Jenkinsfile中填充环境变量

以下代码失败:

pipeline {
  environment {
    PACKAGE_NAME = JOB_NAME.tokenize('/')[1]
  }
{

出现以下错误:

环境变量值只能与'+'连接在一起

我究竟做错了什么? 对不起,如果问题是基本的,我只是从groovy和管道开始。

声明性管道对于可以分配给环境变量的值非常严格。 例如,如果您尝试将PACKAGE_NAME设置为JOB_NAME ,则会出现以下错误:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 5: Environment variable values must either be single quoted, double quoted, or function calls. @ line 5, column 24.
       PACKAGE_NAME = JOB_NAME

为避免出现错误并按预期设置PACKAGE_NAME env变量,可以将其放入双引号并计算GString中的表达式:

environment {
    PACKAGE_NAME = "${JOB_NAME.tokenize('/')[1]}"
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM