【问题标题】:Can't pass environment variable from GitHub Actions to nodejs script无法将环境变量从 GitHub Actions 传递到 nodejs 脚本
【发布时间】:2022-01-28 04:41:11
【问题描述】:

简而言之,我有一个 Angular 应用程序,其中有环境配置。我决定将内部版本号直接写入该配置文件的字段中。

所以我制作了一个脚本,在结帐后和实际构建步骤之前由 Node 运行,并将构建号写入该文件。这是我的 GitHub Actions 工作流 yml 的片段:

        run: |
          npm install
          node setbuildnumber.js build=${{ env.GITHUB_ACTION }}
          npm run build-demo

脚本在我单独测试时有效。正如我所见,它在 Actions 中运行。但是在我构建和部署我的 Angular 应用程序之后,我看到我的内部版本号是 undefined

在写问题之前,我查看了 Stack Overflow 主题,只发现了一个变体,建议将变量值写入文件,然后使用 Node 脚本读取它。但那个解决方案看起来不干净。

【问题讨论】:

  • 您是否在步骤部分之前配置了环境变量?只是尝试打印 process.env 的值以检查 github 操作传递给您的 nodejs 脚本的确切 env 值。如果您有一些合理的变量,请小心
  • 我认为还值得一提的是,命名环境变量有一个约定。在您的示例中,您使用了env.GITHUB_ACTION,但official documentation 声明变量名称不能以GITHUB_ 前缀开头。
  • 迈出一步echo ${{ env.GITHUB_ACTION }},你会在构建日志中看到它

标签: javascript node.js github environment-variables github-actions


【解决方案1】:

我现在确定没有将参数传递到节点脚本中。所以我已经将变量名写入临时文件,读取它,递归地将其写入角度环境配置并最终删除文件。这是唯一对我有用的东西。

【讨论】:

    猜你喜欢
    • 2021-06-10
    • 1970-01-01
    • 2022-10-23
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 2022-06-16
    • 2020-06-08
    相关资源
    最近更新 更多