GitHub 操作:env:在 env 部分的 RHS 上使用预定义的环境变量
GitHub Actions: env: Use pre-defined environment variables on RHS within env section
我想在我的 main.yml 的顶级 env 部分中声明一些环境变量,其值使用一些预定义的环境变量,例如 in the GitHub Actions documentation 中记录的那些。但是,我似乎无法在 env 部分的右侧使用那些预定义的变量。例如:
env:
resourceGroup: ${GITHUB_RUN_ID}${GITHUB_RUN_NUMBER}
有没有办法让任何需要 ${resourceGroup} 的步骤都可以获取它,而不必在每个步骤中手动定义它?
我尝试了以下两种方式
env:
resourceGroup1: ${GITHUB_RUN_ID}-${GITHUB_RUN_NUMBER}
resourceGroup2: ${{ github.run_id }}-${{ github.run_number }}
jobs:
foo:
runs-on: ubuntu-latest
steps:
- name: test1
run: echo ${{ env.resourceGroup1 }}
- name: test2
run: echo ${{ env.resourceGroup2 }}
在这两种情况下,都正确获得了结果。
但是,对于结果为env的情况,前者还没有评估。也许你可以使用后者。
是的,你可以。我构建了一个 GitHub 操作来为您完成:Add Env vars.
将其用作工作流程中作业的第一步,并将 JSON-stringified env vars 作为 map
参数传递。需要为每个作业设置它们 - 它们只会为作业中的所有后续步骤设置。
这是您的测试用例,使用添加环境变量:
test:
runs-on: ubuntu-latest
steps:
- name: Setup env
uses: jwulf/add-env-vars-action@master
with:
map: '{"resourceGroup1": "${{ github.run_id }}-${{ github.run_number }}", "resourceGroup2": "${{ github.run_id }}-${{ github.run_number }}"}'
- name: test1
run: echo ${{ env.resourceGroup1 }}
- name: test2
run: echo ${{ env.resourceGroup2 }}
看起来 set-env 也能正常工作:https://help.github.com/en/actions/reference/development-tools-for-github-actions#set-an-environment-variable-set-env
我想在我的 main.yml 的顶级 env 部分中声明一些环境变量,其值使用一些预定义的环境变量,例如 in the GitHub Actions documentation 中记录的那些。但是,我似乎无法在 env 部分的右侧使用那些预定义的变量。例如:
env:
resourceGroup: ${GITHUB_RUN_ID}${GITHUB_RUN_NUMBER}
有没有办法让任何需要 ${resourceGroup} 的步骤都可以获取它,而不必在每个步骤中手动定义它?
我尝试了以下两种方式
env:
resourceGroup1: ${GITHUB_RUN_ID}-${GITHUB_RUN_NUMBER}
resourceGroup2: ${{ github.run_id }}-${{ github.run_number }}
jobs:
foo:
runs-on: ubuntu-latest
steps:
- name: test1
run: echo ${{ env.resourceGroup1 }}
- name: test2
run: echo ${{ env.resourceGroup2 }}
在这两种情况下,都正确获得了结果。
但是,对于结果为env的情况,前者还没有评估。也许你可以使用后者。
是的,你可以。我构建了一个 GitHub 操作来为您完成:Add Env vars.
将其用作工作流程中作业的第一步,并将 JSON-stringified env vars 作为 map
参数传递。需要为每个作业设置它们 - 它们只会为作业中的所有后续步骤设置。
这是您的测试用例,使用添加环境变量:
test:
runs-on: ubuntu-latest
steps:
- name: Setup env
uses: jwulf/add-env-vars-action@master
with:
map: '{"resourceGroup1": "${{ github.run_id }}-${{ github.run_number }}", "resourceGroup2": "${{ github.run_id }}-${{ github.run_number }}"}'
- name: test1
run: echo ${{ env.resourceGroup1 }}
- name: test2
run: echo ${{ env.resourceGroup2 }}
看起来 set-env 也能正常工作:https://help.github.com/en/actions/reference/development-tools-for-github-actions#set-an-environment-variable-set-env