我正在尝试设置一个可重用的工作流程,从主工作流程中调用它并仅将我的不同环境名称作为输入传递。
name: Call Reusable Workflow
on:
push:
branches: ["feature/my_branch"]
pull_request:
branches: ["main"]
jobs:
ReuseableMatrixJobForDeployment:
strategy:
matrix:
environment: [dev]
uses: ./.github/workflows/reusable_workflow.yml
with:
environment: ${{ matrix.environment }}
在可重用工作流程中,我想从输入设置环境并使用其秘密,我怎样才能实现这一点?
name: Reusable Workflow
on:
workflow_call:
inputs:
environment:
required: true
type: string
jobs:
build-push-artifact:
runs-on: ubuntu-latest
environment: ${{ inputs.environment }}
steps:
- uses: actions/checkout@v4
- name: 'Echo inputs env'
run: |
echo ${{ inputs.environment }} -- This works
echo ${{ secrets.VAR1 }} -- This just show blanks
echo Prod id ${{ secrets.VAR2}} -- This just show blanks
我知道我无法打印秘密,但在这种情况下,它不应该像“****”一样回显吗?当尝试使用它时,它只是回显空白。
我尝试设置一个多上下文工作流程,使用带有矩阵设置的主工作流程,该工作流程将作为参数传递环境名称。
应该能够迭代矩阵环境名称列表并为每个环境运行可重用的工作流程。
一旦写入 GitHub,秘密的价值就隐藏在 Web 界面和 CLI 中。访问秘密值的唯一方法是在 GitHub Action 中使用它。但是,如果您在作业输出中打印该值,例如echo $MY_SECRET,GitHub 可能会在输出中对其进行混淆,以防止秘密值无意中泄漏。
https://github.com/cli/cli/discussions/3397#discussioncomment-598311