Конвейер CI CD на GKE - Ошибка Push Manifest (Законченный Шаг № 5 - Ошибка "Push манифеста") - PullRequest
0 голосов
/ 04 ноября 2019

Я работаю над настройкой конвейера CI CD для загрузочного приложения Spring на GKE. При выполнении CI с использованием Cloud Build на GCP Build завершается с ошибкой при отправке обновленного манифеста в ветку-кандидат. «Сбой на шаге 5» Я мог видеть ниже журналы в облачной сборке

Finished Step #4 - "Generate manifest"
Starting Step #5 - "Push manifest"
Step #5 - "Push manifest": Already have image (with digest): gcr.io/cloud-builders/gcloud
Step #5 - "Push manifest": + cd eureka-cloudbuild-env
Step #5 - "Push manifest": + git add kubernetes.yaml
Step #5 - "Push manifest": + git log --format=%an <%ae> -n 1 HEAD
Step #5 - "Push manifest": On branch candidate
Step #5 - "Push manifest": Your branch is up to date with 'origin/candidate'.
Step #5 - "Push manifest": 
Step #5 - "Push manifest": nothing to commit, working tree clean
Step #5 - "Push manifest": + git commit -m Deploying image gcr.io/amcartecom/eureka-cloudbuild:v2
Step #5 - "Push manifest": Built from commit 34dfdd69af726f80d3b91b29127e0c77cc2a83cf of repository eureka-cloudbuild-app
Step #5 - "Push manifest": Author: root <983160928936@cloudbuild.gserviceaccount.com>
Finished Step #5 - "Push manifest"
ERROR
ERROR: build step 5 "gcr.io/cloud-builders/gcloud" failed: exit status 1

Чтобы настроить этот конвейер, я следовал всем рекомендациям, упомянутым в https://cloud.google.com/kubernetes-engine/docs/tutorials/gitops-cloud-build

1 Ответ

0 голосов
/ 12 ноября 2019

Код этого руководства предполагает, что сборка запускается, когда в исходный код вносятся реальные изменения, и похоже, что вы пытаетесь запустить его вручную из консоли. Когда нет изменений, шаг 5 cloudbuild.yaml завершается со статусом ошибки из-за пустого git commit, который по умолчанию завершается со статусом ошибки, когда нет ничего для фиксации.

Вы можете использовать флаг --allow-empty с ним в соответствии с справочной страницей , но имейте в виду, что он создаст реальный коммит, даже если он будет таким же, как предыдущий. Если вы не хотите такой фиксации, а просто хотите устранить ошибку, вы можете явно добавить || exit 0 в конце шага 5, чтобы игнорировать ошибки.

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