Я видел много людей, интересующихся этой настройкой, где все управляется с помощью кода, и я лично использую это также с CodePipeline. Я вижу, что многие люди ответили, но позвольте мне изложить это здесь с подробностями, чтобы это могло помочь любому, кто хочет это сделать.
Есть два способа добиться этого, и позвольте мне попытаться объяснить оба варианта здесь:
Вариант: 1
Создать два отдельных конвейера:
«Конвейер -1» (отвечает за изменение конфигурации, такое как добавление дополнительных стадий в основной конвейер «Конвейер -2» , с двухэтапным источником и развертыванием (CloudFormation)
source_Config (gitrepo_config) --> deploy_Config_Cfn
«конвейер -2» (фактический конвейер развертывания с такими этапами, как источник, сборка, этап развертывания, который будет создан с использованием resource.yaml)
source_Resource (gitrepo_resource) --> build_Resource --> Deploy_Resource
На основе приведенной выше конфигурации загрузите шаблон, который вы используете для создания основного конвейера «resource.yaml», в репо «gitrepo_config».
Загрузить весь код в репо «gitrepo_resource» на основе развертывания, которое вы используете для «Deploy_Resource»
После выполнения вышеуказанной настройки, когда вы хотите поместить дополнительные этапы в конвейер, вы можете сделать cha nges в файле "resource.yaml" в репозитории git, а "Pipeline -1" сделает все остальное.
Вариант: 2 (Небольшая сложность, но позвольте мне посмотреть, смогу ли я объяснить)
Я использовал вариант 1, пока не придумал этот вариант.
Этот второй способ похож на 100% код, потому что даже в приведенном выше варианте я должен сначала создать «конвейер -1» вручную или через CFN время и позже для обновления мне также нужно go для консоли.
Чтобы преодолеть это, мы можем включить оба конвейера в один и тот же шаблон CloudFormation "resource.yaml", и только один раз мы должны выполнить этот стек CloudFormation и позже все остальное будет автоматически c.
Я надеюсь, что это будет полезно для всех.
Примечание: также мы должны иметь в виду оба варианта, если во время любого изменения конфигурации, если выполнение конвейера выполняется для конвейера ресурсов «Трубопровод -2», тогда он может быть помечен как сбойный, поэтому для решения этой проблемы вы всегда можете установить дополнительный триггер, который будет запускать «Трубопровод -2» на основе s состояние uccess «Конвейер -1» в дополнение к триггеру исходного кода.