本文介绍了GitHub操作未收到机密的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我见过其他SO答案,但似乎都不起作用。我想我只是想用Github的行动做一些非常简单的事情。只需使Access_Key可用于我的GitHub操作,而不是将其放入我的GitHub repo中。所以我看到我们可以创建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 }}使用它们,它们也是空白的。

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

推荐答案

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

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

这篇关于GitHub操作未收到机密的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-01 21:49