【问题标题】:How to use environment variables on GitHub actions without hard coding them? Is it possible?如何在 GitHub 操作上使用环境变量而不对其进行硬编码?可能吗?
【发布时间】:2022-10-13 01:10:41
【问题描述】:

我正在使用 GitHub Actions 在 Clojure/ClojureScript 动态 Web 应用程序项目上实现持续集成过程。它使用一个名为shadow-cljs 的库进行编译。

在我的 yaml 文件的末尾,我有当前的方法:


      - name: Execute a build report using shadow-cljs command shadow.cljs.build-report
        run: npx shadow-cljs run shadow.cljs.build-report app build-reports/report.html
        env:
          TFR_RELEASE: my-instance-name
          TFR_DEV: my-instance-name

如您所见,我使用了两个环境变量TFR_RELEASE 和TFR_DEV。这些变量的值被导出到我的.zshrc 文件中:

export TFR_RELEASE="my-instance-name"
export TFR_DEV="my-instance-name"

这些值代表一个 firebase 实例。这有效.但是,我宁愿避免硬编码它们,因为实例可能会根据开发人员或切换实例的意愿而有所不同。

是否可以在不硬编码 env 值的情况下使脚本工作? 或者,什么是替代策略?也许仅为 CI 构建测试在 Firebase 上创建一个实例,而不是使用我自己的实例?

【问题讨论】:

    标签: firebase continuous-integration environment-variables github-actions shadow-cljs


    【解决方案1】:

    您应该使用Github secrets 来存储环境变量。

    • 在 GitHub.com 上,导航到存储库的主页。
    • 在您的存储库名称下,单击设置。
    • 在侧边栏的“安全”部分,选择机密,然后单击操作。
    • 单击新建存储库密码。
    • 在名称输入框中为您的密码输入一个名称。
    • 输入密码的值。
    • 单击添加密码。

    然后在你的 yml 文件中,

          - name: Execute a build report using shadow-cljs command shadow.cljs.build-report
            run: npx shadow-cljs run shadow.cljs.build-report app build-reports/report.html        env:
              TFR_RELEASE: ${{ secrets.TFR_RELEASE}}
              TFR_DEV: ${{ secrets.TFR_DEV}}
    

    【讨论】:

      猜你喜欢
      • 2021-03-28
      • 2017-06-11
      • 1970-01-01
      • 2011-05-15
      • 2021-03-01
      • 2021-04-15
      • 2021-01-07
      • 2022-01-04
      • 2022-11-10
      相关资源
      最近更新 更多