Github工作流不从环境中读取变量



以下是我简单的github工作流程。它的目的是打印一个环境变量。

name: verify
on:
workflow_dispatch:
jobs:
read_env_variables:
environment: build 
runs-on: [ self-hosted, onprem_dae, docker ]
steps:
- name: cat on branch file
run: |
echo ${{ env.SOME_VARIABLE }}

我已经创建了一个名为"构建"的环境。在此环境中,我将名为SOME_VARIABLE的环境变量设置为xyz

当工作流被触发时,我期望返回值xyz,但实际值是"。是不是少了什么?

你的问题与语法有关。

要使用${{ env.SOME_VARIABLE }}语法,您需要在工作流、作业或步骤级别设置一个env变量。

下面是一个例子:

name: Environment Workflow
on:
workflow_dispatch:
env:
WORKFLOW_VARIABLE: WORKFLOW
jobs:
job1:
runs-on: ubuntu-latest
env:
JOB_VARIABLE: JOB
steps:
- name: Run Commands with various variables
if: ${{ env.WORKFLOW_VARIABLE == 'WORKFLOW' }}
env:
STEP_VARIABLE: STEP
run: |
echo "Hello World"
echo "This is the $WORKFLOW_VARIABLE environment variable"
echo "This is the $JOB_VARIABLE environment variable"
echo "This is the $STEP_VARIABLE environment variable"

现在,如果您想使用环境秘密进行部署正如Github文档中所解释的那样,使用job_id.environment的语法会有所不同,因为您已经在使用本文档。

下面是一个例子:

job4:
runs-on: ubuntu-latest
environment: build
steps:
- name: Show repo env secret
run: |
echo ${{ secrets.REPO_ENV_SECRET }}

注意这个变量是一个秘密因此,您将无法通过步骤上的echo命令看到它(它将显示***)


这是我用来验证所有这些实现的工作流程,如果你想看一下:

  • 工作流文件
  • 工作流运行

相关内容

  • 没有找到相关文章

最新更新