我正在尝试在新的github action yaml格式(新)中重建ci-cd,问题是我似乎无法在一个步骤中将计算值用作参数。
我尝试了以下
- name: Download Cache
uses: ./.github/actions/cache
with:
entrypoint: restore_cache
args: --bucket=gs://[bucket secret] --key=node-modules-cache-$(checksum package.json)-node-12.7.0
但是,“ $(checksum package.json)”作为参数的一部分无效。 请注意,如果命令校验和存在,并且它确实存在于容器中,那么这无关紧要。
我正在尝试在Google Cloud build中复制这种设置
- name: gcr.io/$PROJECT_ID/restore_cache
id: restore_cache_node
args:
- '--bucket=gs://${_CACHE_BUCKET}'
- '--key=node-modules-cache-$(checksum package.json)-node-${_NODE_VERSION}'
我希望能够以与其他ci-cd解决方案类似的方式使用计算参数。
有没有一种方法可以使我丢失?也许能够在Docker容器中使用'run:'来运行一些命令。
答案 0 :(得分:1)
我目前唯一知道的解决方案是在上一步中计算值,以便您可以在以后的步骤中使用它。
有关使用set-output
的方法,请参见此答案。我建议使用此方法在工作流步骤之间传递计算值。
Github Actions, how to share a calculated value between job steps?
或者,您可以使用set-env
。计算的环境变量也可以在以后的步骤中使用。
How do i set an env var with a bash expression in GitHub Actions?