Может ли CodePipeline использовать Specifi c Commit - PullRequest
1 голос
/ 07 апреля 2020

Моя команда столкнулась с проблемами с нашей CodePipeline, когда функции были запущены в производство, когда их не должно было быть из-за нашего Docker исправления изображения Немного предыстории нашей архитектуры: у нашего конвейера есть два источника, один для исходного кода и один для Docker компоновщика изображений. Docker строится через CodeBuild и развертывается в средах разработки, тестирования и последующего тестирования с промежуточными шагами одобрения вручную.

Наш образ Docker получает ежемесячное исправление, которое запускает конвейер и вызывает особенности должны быть вытеснены. Мы переработали нашу стратегию ветвления git так, чтобы наша основная ветвь содержала только стабильные выпуски, но я все еще мог видеть, что эта проблема может возникать снова, если указана конкретная дата выпуска c. Есть ли способ вытащить sh исправление изображения, не выталкивая последний коммит?

1 Ответ

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

Может ли CodePipeline использовать спецификацию c Commit

Это часто запрашиваемая функция, но, к сожалению, CodePipeline всегда будет приносить последний коммит из выбранной ветви в действии Source.

CodePipeline, привязанный к одной ветке git, является более характерной особенностью CodePipeline, так как дизайн более склонен к разработке на основе магистрали [0]. Кроме того, согласно разработчикам этого сервиса, CodePipeline разработан для проверки после слияния / выпуска. То есть, как только ваше изменение будет готово к выпуску в производство и объединено с вашей основной / основной веткой, CodePipeline вступит во владение и автоматически протестирует и выпустит окончательный объединенный набор изменений. CodePipeline обладает множеством функций, таких как блокировка сцены, замена версий и т. Д. c. которые не очень подходят для случая, когда вы хотите протестировать изменение изолированно до его слияния (например, тестирование ветвления функции или тестирование по запросу). Поэтому в CodePipeline в настоящее время не рекомендуется делать это.

[0] https://trunkbaseddevelopment.com/

Сказав это, есть способ взломать это с помощью действия S3 Source в конвейере вместо действия источника GitHub / CodeCommit. По сути, исходное действие вашего конвейера S3 связано с корзиной / ключом S3. Затем вы можете загрузить zip-файл любого указанного c коммита в этот сегмент / ключ S3 и запустить конвейер.

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