【问题标题】:How to use computed properties in github actions如何在 github 操作中使用计算属性
【发布时间】:2019-12-24 05:30:40
【问题描述】:

我正在尝试在新的 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:”来运行一些命令。

【问题讨论】:

  • 你在哪里发现 /.github/actions/cache 使用的?
  • @TiagoGouvêa /.github/actions/cache 是一个本地 Docker 操作 (Dockerfile),其中包含与此处相同的内容 Cloudbuilders Cache 有关如何使用 docker 本地 docker 映像作为操作步骤的信息位于 here作为更新,我通过创建自定义 JS 操作来解决此问题。如果我可以开源,更多信息将很快发布:)。

标签: bash yaml github-actions


【解决方案1】:

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

有关使用set-output 的方法,请参阅此答案。这是我推荐的在工作流步骤之间传递计算值的方法。 Github Actions, how to share a calculated value between job steps?

或者,您可以创建环境变量。计算的环境变量也可以在后面的步骤中使用。 How do I set an env var with a bash expression in GitHub Actions?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-25
    • 2020-09-11
    • 2019-11-12
    • 1970-01-01
    • 2023-02-14
    • 2019-11-27
    • 2021-03-04
    • 2022-01-14
    相关资源
    最近更新 更多