【问题标题】:Can I run a job under another job's steps in CircleCI 2.0?我可以在 CircleCI 2.0 中按照另一个工作的步骤运行工作吗?
【发布时间】:2019-01-14 11:08:26
【问题描述】:

是否可以在另一个作业的上下文中运行另一个作业?我有一些工作有一些共同的步骤,我不想在不同的工作中重复这些步骤。

push-production-image:
docker:
  - image: google/cloud-sdk:latest

working_directory: ~/app

steps:
  - setup-gcp-docker
  - run: docker push [image]

【问题讨论】:

    标签: circleci circleci-2.0 circleci-workflows


    【解决方案1】:

    不,你不能,但是 YAML 本身有一种方法可以使用所谓的 YAML 锚点和别名来解决这个问题。

    这是我写的关于如何具体执行此操作的博客文章:https://circleci.com/blog/circleci-hacks-reuse-yaml-in-your-circleci-config-with-yaml/

    【讨论】:

    • 我唯一的问题是运行的步骤通常会丢失锚点之外的上下文,例如如果我在锚中安装二进制文件,我将无法访问锚和别名之外的二进制文件
    • 您可以 1) 在锚点中进行安装,2) 在 Docker 映像中安装二进制文件,或 3) 将二进制文件保存在工作空间中。
    • @FelicianoTech 请我如何持久化已安装且已配置的 gcloud sdk?
    • 您可以使用 Workspaces 来持久化二进制文件和 gcloud 存储数据的任何配置文件:circleci.com/docs/2.0/workflows/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多