嗨,我敬爱的开发者!
今天,我在尝试将 GitHub 机密传输到 docker GitHub 操作以在容器中使用此变量时遇到了麻烦。我已经为项目定义了密钥 what_a_secret
的秘密 CHUT
。
这是我目前拥有的:
name: Continious Delivery
on: [push]
jobs:
myjob:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Docker Run Action
uses: addnab/docker-run-action@v3
env:
CHUT: ${{ secrets.CHUT }}
with:
image: amazon/aws-glue-libs:glue_libs_1.0.0_image_01
options:
--env CHUT=$CHUT
-v ${{ github.workspace }}:/workspace
run:
echo CHUT=$CHUT
这只是打印 CHUT=$CHUT
而不是 CHUT=what_a_secret
。
我也尝试过这样做:
--env CHUT=${{ secrets.CHUT }}
还有这个:
run:
echo CHUT=${{ secrets.CHUT }}
但是 lasts 解决方案根本没有返回任何东西。
热烈欢迎您的帮助
编辑:文档“Configure GitHub Actions”无法将环境变量传递给容器。
答案 0 :(得分:0)
最后的答案是:我让我的代码更干净并做到了:
name: Continious Delivery
on: [push]
jobs:
myjob:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Docker Run Action
uses: addnab/docker-run-action@v3
with:
image: amazon/aws-glue-libs:glue_libs_1.0.0_image_01
options:
--e CHUT=${{ secrets.CHUT }}
-v ${{ github.workspace }}:/workspace
run:
echo "CHUT=$CHUT"
输出是 CHUT=***
因为 Github 足够聪明,不会在终端中打印秘密。但是 docker 正确读取了秘密。