首页 > 解决方案 > 有没有办法在 Jenkinsfile 中读取 dotenv 变量?

问题描述

目前,我在尝试读取 jenkinsfile 中的 dotenv 变量时遇到问题。在我们使用的测试框架中,我们确实将一些环境变量存储在 .env 文件下,该文件基于 dotenv npm 包。这个 .env 文件是我们代码库的一部分。

那些环境变量就像

A = "value1"
B = "value2"

根据场景结果,我正在尝试将“FAILURE”值设置为我想在 Jenkinsfile 中读取的这些 .env 变量之一。

After( async function (scenario) {
   const result = scenario.result.status;
   if (result === "failed") {
      process.env.SCENARIO_RESULT = "FAILURE" 
});

然后在 Jenkinsfile 我试图达到这个 .env 变量,像这样

  properties([......
     buildDiscarder(
       logRotator( .... ))])

  SCENARIO_RESULT = '' *//here declaring initial value*
  podTemplate( ... ) {
    timestamps { ....
      container ( .....
         stage('cleaning workspace') {...}
         stage('clone repo') {...}
         stage('run tests') {
            try {
                if(SCENARIO_RESULT == 'FAILURE'){
                   currentBuild.result = 'FAILURE'
               }
        }

但它并没有真正起作用,我只是在 jenkins 文件的顶部声明了这个变量,为其分配了一些起始值,但它仍然没有得到更新。

有没有办法可以将此 .env 变量值传递给 jenkinsfile 变量?

标签: javascriptjenkinsjenkins-pipelinejenkins-pluginsdotenv

解决方案


推荐阅读