В GCP через Cloudbuild, как я могу гарантировать, что будут запущены только те шаги, для которых произошли изменения в файле - PullRequest
0 голосов
/ 03 апреля 2020

Моя проблема заключается в том, что, учитывая приведенный ниже файл yaml, если я делаю изменения, например, в любом файле «dir: process / cbd-bu-data», Cloud Build запускает все шаги последовательно при запуске. Это приводит к потере времени.

Я хочу, чтобы в cloudbuild выполнялся только тот шаг, для которого были внесены изменения в файл этого каталога. Что я должен сделать, чтобы добиться этого?

Вот мой cloudbuild.yaml файл:

steps: 
  - args: 
      - beta
      - functions
      - deploy
      - "--runtime=python37"
      - "--trigger-http"
      - "--entry-point=process_cbd_group_data"
      - process_cbd_group_data
      - "--region=us-central1"
    dir: process/cbd-group-data
    name: gcr.io/cloud-builders/gcloud
  - args: 
      - beta
      - functions
      - deploy
      - "--runtime=python37"
      - "--trigger-http"
      - "--entry-point=process_cbd_bu_data"
      - process_cbd_bu_data
      - "--region=us-central1"
    dir: process/cbd-bu-data
    name: gcr.io/cloud-builders/gcloud
  - args: 
      - beta
      - functions
      - deploy
      - "--runtime=python37"
      - "--trigger-http"
      - "--entry-point=process_cbd_structure_data"
      - process_cbd_structure_data
      - "--region=us-central1"
    dir: process/cbd-structure-data
    name: gcr.io/cloud-builders/gcloud  

1 Ответ

0 голосов
/ 08 апреля 2020

В вашем случае использования тогда наилучшим подходом было бы иметь разные триггеры (3 в вашем случае использования), которые прослушивают разные теги или ветви, каждый из которых указывает c для изменений файла, которые вы хотите прослушать. В настоящее время выполнение шагов Cloud Build выполняется, когда определенные изменения файла недоступны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...