【问题标题】:github actions not receiving secretsgithub操作未收到秘密
【发布时间】:2021-05-12 18:48:18
【问题描述】:

我看过其他 SO 答案,但似乎都没有。我想我只是想用 Github Actions 做一些非常简单的事情。只需为我的 github 操作提供一个 access_key,而无需将其放入我的 github 存储库中。所以我看到我们可以创建action secrets应该传递给 github 操作。我也明白我们不能只记录密钥以确保安全,所以我希望*** 在尝试记录时代替。对于我的生活,我无法弄清楚为什么秘密不是***,但它们是空的。甚至当我在我的脚本中使用它们时,它们似乎对它们没有任何价值。这是我的相关工作流程

name: CI
on:
  push:
    branches:
      - master
env:
  AWS_S3_BUCKET: ${{ secrets.AWS_PRODUCTION_BUCKET_NAME }}
  AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
  AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
  AWS_REGION: ${{ secrets.AWS_REGION }}
jobs:
  deploy:
    runs-on: ubuntu-latest
    env:
      CI: true
    strategy:
      matrix:
        node-version: [14.x]
    steps:
    - uses: actions/checkout@v1
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
        publish_dir: ./build
    - name: Test Env
      run: |
        echo 'The GitHub Action Secret will be masked:  '
        echo ${{ secrets.GITHUB_TOKEN }}
        echo 'Testing secret if its masked: '
        printenv

当我运行它时,我看到GITHUB_TOKEN 确实是***,这是有道理的。但是我添加到我的存储库设置 > 秘密 > 操作秘密中的所有秘密,它们只是空白,而不是 ***,如果我尝试通过 ${{ secrets.AWS_ACCESS_KEY }} 使用它们,它也是空白的。

我的回购是公开的,我也在努力掌握。我对我的仓库拥有管理员权限。

【问题讨论】:

  • 我也在这里做printenv,因为我已经尝试过${{ secrets.AWS_ACCESS_KEY }},我想看看环境是什么样子

标签: github-actions


【解决方案1】:

在我的例子中,我没有从我的脚本中引用包含秘密的环境。最终在文档中找到了这一点,但令人难以置信的是,它只是返回空白机密而不是引发某种错误消息。

jobs:
  myjobname:
    runs-on: ubuntu-latest
    environment: myenvironment  # THIS WAS MISSING
    steps:
      # The steps in the action

文档链接:https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idenvironment

【讨论】:

  • !@#$% 我想为什么这个秘密空白!感谢您发布福兹!非常感谢。
  • 为什么我花了这么多时间才找到你的答案?谢谢你好先生!
  • 非常感谢,这很难找到。那里的许多文档/教程都没有引用环境,而且它是工作上下文之外的受保护密钥,因此不会解析 yml。并非所有英雄都穿着斗篷
【解决方案2】:

好吧,看起来有不同种类的秘密。我添加了Action Secrets,这对我来说很有意义。我想要 Actions 的秘密。还有一个叫做Environment Secrets的部分,当我把它放进去时,它起作用了。有点混乱。

【讨论】:

    【解决方案3】:

    我可以看到的一个大问题是您正试图访问工作之外的秘密。从官方文档here来看,是在步骤级别通过加密完成的。

    【讨论】:

    • 是的,其实我最初并没有这样做。我最初在运行级别上拥有它,但没有运气。尝试根据我在 SO 中看到的答案将其向上移动。
    猜你喜欢
    • 1970-01-01
    • 2020-09-19
    • 2021-06-24
    • 2021-06-25
    • 2021-06-27
    • 2022-08-13
    • 2021-11-22
    • 2020-04-08
    • 2023-02-10
    相关资源
    最近更新 更多