有没有办法在Github Actions的main.workflow中的其他密钥下传递秘密?

时间:2019-09-05 21:55:05

标签: github yaml github-actions

我的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文档似乎没有涵盖此主题,它的大部分内容都基于他们的工作流.yml格式。我不知道这是否是一个简单的语法错误,但是如果有人对要做什么有任何想法,我将非常感谢。

1 个答案:

答案 0 :(得分:1)

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

  

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

     

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

     

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

因此,您需要将main.workflow文件转换为.github/workflows下的YAML语法文件。您可以根据自己的喜好命名,但如果您是我,我可能会称其为main.yml。这样一来,您就可以使用GITHUB_TOKEN以外的其他机密信息,并且由于必须在月底之前 进行此操作,因此您最好也可以开始进行转换过程。