Может ли 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 и запустить конвейер.