簡體   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