我尝试了一堆不同的版本,但从未设置过环境变量。
这些都不起作用。在所有情况下,变量IMAGE都不存在。
echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}" >> $GITHUB_ENV
echo ${IMAGE}
env:
DEPLOYMENT_NAME: my-deploymentecho "IMAGE=ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}" >> $GITHUB_ENV
echo $IMAGE
env:
DEPLOYMENT_NAME: my-deploymentecho "IMAGE=ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}" >> $GITHUB_ENV
echo ${{ env.IMAGE }}
env:
DEPLOYMENT_NAME: my-deployment编辑
更多的实验。我尝试这样设置环境变量。
env:
IMAGE1: ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}
IMAGE2: "ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}"这将设置变量-尽管我也希望能够在如上所述的作业中设置它们。但是,以不同的方式打印它们总是导致打印变量名${GITHUB_REPOSITORY}和${GITHUB_SHA},而不是它们的内容。
env:
DEPLOYMENT_NAME: my-deployment
IMAGE1: ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}
IMAGE2: ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}
...
echo $IMAGE1
echo $IMAGE2
echo ${IMAGE1}
echo ${IMAGE2}
echo "$IMAGE1"
echo "$IMAGE2"
echo "${IMAGE1}"
echo "${IMAGE2}"
ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}
ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}
ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}
ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}
ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}
ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}
ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}
ghcr.io/${GITHUB_REPOSITORY}:${GITHUB_SHA}因此,尽管这是一些进展,我仍然想知道变量是如何在job/run中设置的,以及如何打印变量的内容而不是它们的名称。
发布于 2021-02-05 03:28:27
通过job.<job_id>.env和job.<job_id>.steps[*].env设置环境变量的语法与Bash环境变量语法略有不同。不过,您应该能够访问env:声明中的context对象。将所有这些放在一起,为整个作业设置环境变量:
jobs:
job1: # or whatever you want to name your job
env:
DEPLOYMENT_NAME: my-deployment
IMAGE1: ghcr.io/${{ github.repository }}:${{ github.sha }}
IMAGE2: ghcr.io/${{ github.repository }}:${{ github.sha }}另请参见https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idenv。
https://stackoverflow.com/questions/66045731
复制相似问题