Исправление триггеров CloudBuild

#google-cloud-build

#google-cloud-build

Вопрос:

Есть ли опция CLI для команды CloudBuild triggers patch?

Версия API GCB имеет опцию «patch» https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.triggers/patch

тем не менее, в командной строке gcloud нет «исправления» в списке https://cloud.google.com/sdk/gcloud/reference/beta/builds/triggers /

Я пытался gcloud beta builds triggers patch $trigger_name , но это не сработало

Мой вариант использования. У меня есть папка со всеми триггерами GCB, и я использую сам GCB для создания новых / обновления триггеров GCB из триггера.файлы yaml в этой папке. В настоящее время он удаляет все триггеры и воссоздает их из этих файлов. Возможно, исправление — лучший вариант, чтобы у меня не было слишком много идентификаторов триггеров.

   steps:
- name: 'gcr.io/cloud-builders/gcloud'
  entrypoint: 'bash'
  args:
    - '-c'
    - |
      echo 'Starting bash'
      for gcb_trigger in folder/triggers/*.yaml; do
        gcloud beta builds triggers delete "$(basename $gcb_trigger .yaml)" --quiet
      done

      for gcb_trigger in folder/triggers/*.yaml; do
        gcloud beta builds triggers create cloud-source-repositories --trigger-config="$gcb_trigger"
      done

      echo 'Finishing bash'

  

Ответ №1:

Исправление триггеров пока недоступно с помощью gcloud command, но можно исправить триггеры с помощью API внутри curl .

В curl:

 curl -X PATCH 
  'https://cloudbuild.googleapis.com/v1/projects/[PROJECT_ID]/triggers/[TRIGGER_NAME]' 
  -H 'Content-Type: application/json; charset=utf-8' 
  -H 'Authorization: [ACCESS TOKEN]'
  -d '{
  "name": "foobar"
}'
  

Этот запрос обновит имя вашего триггера до foobar .

Обратите внимание, что перед выполнением этого вам необходимо указать токен доступа для вашего заголовка авторизации.

Комментарии:

1. Спасибо за ответ. Я использую service acc, и хранение access_token где-то не идеально. Я попробовал этот маршрут cloud.google.com/run/docs/authenticating/developers , но это тоже не сработало