5

我正在尝试在新的 github 操作 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)”作为参数的一部分是无效的。请不要这与命令校验和是否存在无关,它确实存在于容器中。

我正在尝试在谷歌云构建中复制这种设置

  - 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:' 来运行一些命令。

4

1 回答 1

1

目前我知道的唯一解决方案是计算上一步中的值,以便您可以在以后的步骤中使用它。

有关使用set-output. 这是我推荐的在工作流步骤之间传递计算值的方法。 Github Actions,如何在作业步骤之间共享计算值?

或者,您可以创建环境变量。计算的环境变量也可以在后面的步骤中使用。 如何在 GitHub Actions 中使用 bash 表达式设置 env var?

于 2019-09-19T05:18:57.493 回答