Github Actions CI/CD 工作流中的 .env 文件:如何将这些文件提供到工作流中

Val*_*Shi 6 php continuous-integration environment-variables node.js github-actions

我将 Github Actions 工作流用于 Node 和 PHP 项目的 CI/CD 流程。

在工作流中,我将我的存储库克隆到 Github Actions 运行器虚拟机中。然后为了在工作流中运行测试,我必须将.env文件放在克隆的存储库中。

问题是我的.env文件不是存储库的一部分(这是普遍存在的做法)。

为了解决这个问题,我使用了我认为的一种解决方法:设置MY_PROJECT_ENVGithub Action sercret 变量,手动将我的.env文件内容放在那里,然后.env使用 Linux 控制台在我的工作流中动态创建文件echo "${{ secrets.MY_PROJECT_ENV}}" > .env。这有效。

但我想知道是否有其他方法可以向.envGithub Actions 工作流提供文件?

Akh*_*l P 2

如您所知,.env这并不意味着推送到远程存储库。

您需要以某种方式将环境变量添加到正在运行该程序的计算机。

根据您的情况,您可以使用.yaml以下文件添加环境变量

steps:
  - name: Hello Program
    run: Hello $FIRST_NAME $LAST_NAME!
    env:
      FIRST_NAME: Akhil
      LAST_NAME: Pentamsetti
Run Code Online (Sandbox Code Playgroud)

有关使用环境变量的更多信息,请访问github 官方文档。

  • 那么 `.env` 根本不仅仅用于开发。它可用于所有环境,并且针对每个环境都是特定的。任何部署都依赖于构建或测试阶段,而构建或测试阶段又依赖于“.env”的存在。因此,“.env”文件是任何应用程序的核心,至少对于 Node 或 PHP 来说是这样。 (3认同)
  • 是的,我知道我可以通过工作流程配置 YAML 文件使用单独的环境变量。但我的代码确实需要 `.env` 文件,而不是单独的环境变量。 (2认同)