如何读取 github 操作工作流程的 env 部分中的环境变量

Mar*_*ark 12 environment-variables github-actions

我正在尝试根据 github 工作流程中的另一个环境变量设置一个环境变量。我尝试了几个语法选项,但似乎都不起作用

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]
  workflow_dispatch:

env:
  BASE_VERSION: 1.0.0
  FULL_VERSION: ${BASE_VERSION}-${{ github.run_number }}-${{ github.ref_name }}
jobs:
Run Code Online (Sandbox Code Playgroud)
  1. 上面的 BASE_VERSION 示例仅将 ${BASE_VERSION} 保留为字符串
  2. $BASE_VERSION 也只将 $BASE_VERSION 保留为字符串
  3. ${{ env.BASE_VERSION }}-blabla 只是因语法错误而失败

这可行吗?

例如,我想要的输出是“1.0.0-1-master”

Ste*_*o L 7

像这样做:

      - name: Set docker image env var
        run: |
          echo "DOCKER_IMAGE=${ARTIFACTORY_URL}/${IMAGE_NAME}:${GITHUB_REF##*/}.${{github.run_number}}" >> $GITHUB_ENV

      - run: |
          echo ${{ env.DOCKER_IMAGE }}
Run Code Online (Sandbox Code Playgroud)

输出

artifactory-host/some-project/some-repo/image-name:branch.number
Run Code Online (Sandbox Code Playgroud)


小智 6

这可行吗?

目前看来这不是一种受支持的行为。

文档中env提到

映射中的变量env不能根据映射中的其他变量来定义。