#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 , но это тоже не сработало