我看过其他答案,但似乎都不起作用。我想我只是想用 Github Actions 做一些非常简单的事情。只需让 access_key 可用于我的 github 操作,而不将其放入我的 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
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我发现GITHUB_TOKEN确实如此***,这是有道理的。但是我添加到存储库设置 > 秘密 > 操作秘密中的所有秘密,它们只是空白,而不是,如果我尝试通过其也空白***使用它们。${{ secrets.AWS_ACCESS_KEY }}
我的仓库是公开的,我也在努力掌握。我对我的存储库拥有管理员权限。
foz*_*foz 40
就我而言,我没有引用包含脚本中秘密的环境。最终在文档中找到了这一点,但令人难以置信的是它只返回空白秘密而不是引发某种错误消息。
jobs:
myjobname:
runs-on: ubuntu-latest
environment: myenvironment # THIS WAS MISSING
steps:
# The steps in the action
Run Code Online (Sandbox Code Playgroud)
就我而言,我尝试在包含的工作流程文件(来自同一存储库)中使用机密。只有当你使用secrets: inherit. 例如:
jobs:
build:
uses: ./.github/workflows/.build-application.yml
# The following is required to use secrets in .build-application.yml:
secrets: inherit
Run Code Online (Sandbox Code Playgroud)
好吧,看起来有不同种类的秘密。我添加的Action Secrets内容对我来说很有意义。我想要行动的秘密。还有另一个部分Environment Secrets,当我把它放进去时,它就起作用了。有点令人困惑。
| 归档时间: |
|
| 查看次数: |
10268 次 |
| 最近记录: |