2016-07-30 4 views
0

Я искал высоко и низко для ответа на этот вопрос, но не смог его найти.Развертывание приложения Angular 2, созданного с помощью webpack с использованием Bitbucket

Я создаю приложение Angular 2, которое я бы хотел разместить на ведре S3. Будет EC2 (возможно) бэкэнд, но это еще одна история. В идеале, я хотел бы проверить мой код в Bitbucket, и по какой-то магии, которая ссылается на меня, я бы хотел, чтобы S3, или EC2, или что бы то ни было заметили с помощью крючка, например, что источник изменился. Разумеется, источник должен быть построен с использованием webpack и распределенных дистрибутивов.

Теперь это кажется довольно простым запросом, но я не могу найти решение, исключающее что-то относящееся к WebDeploy, которое я буду исследовать прямо сейчас.

Любые идеи кто-нибудь?

ответ

0

S3 не собирается слушать Git-крючки и извлекать, создавать и разворачивать ваш код. BitBucket не собирается создавать и разворачивать ваш код на S3. То, что вам нужно, это служба, которая находится между BitBucket и S3, которая запускается с помощью Git-крючка, извлекает из Git, создает, а затем разворачивает ваш код на S3. Вам необходимо найти службы непрерывной интеграции/непрерывного развертывания, которые предназначены для такого рода вещей.

AWS имеет CodePipeline. Вы можете настроить свой собственный сервер Jenkins или TeamCity. Или вы можете посмотреть на услугу, например CodeShip. Это всего лишь несколько из многих услуг, которые могут выполнить эту задачу. Я думаю, что для любой из этих служб потребуется немного скриптов с вашей стороны, чтобы заставить их выполнять фактический веб-пакет и копировать на S3.

1

Хорошие новости, AWS Lambda, созданная для вас.

Для достижения ваших требований вам необходимо создать следующий сценарий и код.

1-Создать функцию Lambda, эта функция должна выполнить следующие шаги:

  • 1-1- Клон ваш последний код из GitHub или Bitbucket.

    1-2- install grunt or another builder for your angular app. 
    
    1-3- install node modules. 
    
    1-4- build your angular app. 
    
    1-5- copy new build to your S3 bucket. 
    
    1-6- Finish. 
    

2-Создать AWS шлюз API с одного ресурса и одной точки метод в вашей функции лямбда.

3-Goto настройки GitHub или Bitbucket и добавление webhook с вашим API-шлюзом.

4-Наслаждайтесь жизнью с AWS. ;)

Привилегии: 1-Вы платите только в том случае, если у вас есть новая сборка.

2-Не нужна машина или сервер (EC2).

3-Вы поддерживаете только одну функцию на лямбда.

для получения дополнительной информации:

https://aws.amazon.com/lambda/

https://aws.amazon.com/api-gateway/

Смежные вопросы