【问题标题】:Is there a way to pass secrets under a different key in main.workflow in Github Actions?有没有办法在 Github Actions 的 main.workflow 中以不同的密钥传递秘密?
【发布时间】:2020-01-08 19:47:09
【问题描述】:

我的 Github Action 需要来自秘密的“GITHUB_TOKEN”,但我希望能够声明自己的密钥并将其传递。

这只是.github/main.workflow 中的一个问题。在.github/workflows/my-workflow.yml 里面你可以自己声明环境变量:

jobs:
  my-job:
    ...
    env:
      TOKEN_KEY_THEY_WANT: ${{ secrets.HOW_I_NAMED_IT }}

下面是他们期望main.workflow 的配置方式:

action "My Job" {
  uses = "my_repo/action_folder@branch-name"
  secrets = ["GITHUB_TOKEN"]
}

这就是我希望能够做到的:

action "My Job" {
  uses = "my_repo/action_folder@branch-name"
  env = {GITHUB_TOKEN = "$MY_CUSTOM_TOKEN"}
  secrets = ["MY_CUSTOM_TOKEN"]
}

Github Actions 文档似乎没有涵盖该主题,其大部分内容都基于其 workflow.yml 格式。我不知道这是否是一个简单的语法错误,但如果有人知道该怎么做,我将非常感激。

【问题讨论】:

    标签: github yaml github-actions


    【解决方案1】:

    根据https://help.github.com/en/articles/about-github-actions#migrating-github-actions-from-hcl-to-yaml-syntax

    GitHub Actions 中的 HCL 语法支持将于 2019 年 9 月 30 日弃用。

    如果您参与了受限公开测试版并使用 HCL 语法 GitHub Actions 创建了工作流,则需要升级到使用 YAML 语法的新受限公开测试版。当您的存储库符合升级条件时,您会在存储库中看到邀请。您必须先接受邀请,然后才能使用新的有限公开测试版。

    您使用 HCL 语法创建的任何工作流都需要更新为新的 YAML 语法。要自动转换您的工作流程和操作,请参阅“Migrating GitHub Actions from HCL syntax to YAML syntax”。

    因此,您需要将您的 main.workflow 文件转换为 .github/workflows 下的 YAML 语法文件。你可以给它起任何你喜欢的名字,但如果我是你,我可能会称它为main.yml。这将允许您使用除 GITHUB_TOKEN 之外的其他秘密,并且由于您必须在月底之前完成无论如何,您不妨开始转换过程。

    【讨论】:

      猜你喜欢
      • 2021-03-26
      • 2020-01-01
      • 2021-10-20
      • 2020-12-10
      • 2021-06-10
      • 2021-02-12
      • 2023-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多