【问题标题】:How to set secrets in Github Actions?如何在 Github Actions 中设置秘密?
【发布时间】:2020-01-01 05:57:19
【问题描述】:

官方样板代码注入npm令牌如下

NODE_AUTH_TOKEN: ${{secrets.npm_token}}

如何访问和设置此变量?我在 GUI 中找不到它。

【问题讨论】:

    标签: github github-actions


    【解决方案1】:
    1. 转到您在 Github 中的项目
    2. 选择Settings 标签
    3. 点击左侧菜单中的Secrets 部分
    4. Add a new secret 并提供名称(例如 npm_token)和值。

    【讨论】:

      【解决方案2】:

      除了 GUI,您现在(2020 年 1 月)还有一个 GitHub Actions API(!,尽管仍是测试版),如 announced here。

      它确实包含GitHub Actions Secrets API:

      Create or update an repository secret:

      使用加密值创建或更新组织机密。使用 LibSodium 加密您的秘密。

      您必须使用具有admin:repo 范围的访问令牌进行身份验证才能使用此端点。
      GitHub 应用程序必须拥有secrets 组织权限才能使用此端点。

      PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}
      

      Get a repository secret

      在不泄露其加密值的情况下获取单个密钥。
      对存储库具有写入权限的任何人都可以使用此端点。
      GitHub 应用程序必须具有机密权限才能使用此端点。

      GET /repos/:owner/:repo/actions/secrets/:name
      

      因此 GUI 不再是唯一的选择:您可以通过这个新 API 编写脚本并获取/设置 Actions 密码。

      【讨论】:

      • 但问题是“设置秘密”
      • @maxisme 我同意。我已经编辑了答案以包括创建一个秘密。
      • 感谢@Vonc 我试图搜索文档但放弃了?
      • 但我认为这仅适用于“组织”帐户。
      • @maxisme 很好,谢谢。我已经编辑了第一个 API 端点以将其用于存储库,而不是组织。
      【解决方案3】:

      这个页面很难找到,但它存在于官方文档中:Creating and using secrets (encrypted variables)。

      为方便起见,从以下文档中复制:

      秘密名称不能包含任何空格。确保 GitHub 编辑 您在日志中的秘密,避免使用结构化数据作为 秘密,例如 JSON 或编码的 Git blob。

      1. 在 GitHub 上,导航到存储库的主页。
      2. 在您的存储库名称下,单击设置。
      3. 在左侧边栏中,单击 Secrets。
      4. 在“名称”输入框中为您的密钥输入一个名称。
      5. 键入您的密钥的值。
      6. 点击添加密码。

      上面的链接也有更多关于使用秘密的信息。

      【讨论】:

        【解决方案4】:

        我创建了一个简单的 CLI 可以帮助您实现这一目标 - https://github.com/unfor19/githubsecrets

        此 CLI 基于官方 API。您可以使用pip 安装它或使用Docker,阅读README.md 了解更多信息

        【讨论】:

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