GitLab не реализует прямую интеграцию с сервисами AWS, но вы можете обойти это. Вы можете сделать что-то похожее на то, что вы описали, и реализовать всю логику установки/распространения/авторизации, но тогда вы действительно не получаете многого от CodeDeploy. То, что вы должны делать, зависит от того, чего вы пытаетесь достичь.
Автоматическое развертывание на толчке: Вы можете получить автоматическое развертывание на себя обязательство GitLab, если соединить их WebHooks с чем-то, что может аутентифицировать в AWS. Это может выглядеть так:
- Веб-крюк в GitLab, который отправляет запрос push на сервер Jenkins, которым вы управляете.
- Сервер Jenkins использует плагин Git для вытягивания источника.
- Сервер Jenkins запускает шаги сборки и тестирования.
- Сервер Jenkins использует плагин CodeDeploy для загрузки артефактов сборки на S3 и создания развертывания.
Если вы хотите иметь ручное развертывание, вы можете сделать то же самое, что и выше, но вручную запустить конструкцию Jenkins.
Deploy только вручную: Выполните следующие действия, если вы хотите, чтобы развернуть:
- Используйте мерзавца к оформлению заказа фиксации вы хотите развернуть.
- Запустите свою сборку и протестируйте локально.
- Выполнение команды развертывания AWS CLI для загрузки артефактов сборки на S3.
- Создайте развертывание в CodeDeploy, используя загруженный пакет.