【发布时间】: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