Рекомендации / способ развертывания приложения Laravel + Vue SPA на AWS - PullRequest
0 голосов
/ 05 июня 2018

У меня есть 2 репозитория, расположенных в Bitbucket - Backend (приложение Laravel как API и точка входа) и Frontend (внешний интерфейс основного приложения - приложение VueJs).Моя цель - настроить непрерывное развертывание, чтобы всякий раз, когда что-то выдвигалось в любом из репозиториев в главном (или другом выбранном мной филиале), оно запускало что-то, чтобы все приложение собиралось и достигало сервера AWS EC2.

Я рассмотрел / попробовал следующее:

  • AWS CodePipeline и / или CodeDeploy.Это выглядело как отличный вариант, поскольку серверы также находятся в AWS.Однако поддержка Bitbucket из коробки не поддерживается, поэтому необходимо перейти к Bitbucket Pipeline -> AWS Lambda -> AWS S3 -> AWS CodePipeline / CodeDeploy -> AWS EC2.Это кажется очень длительным путешествием, и я не уверен, что это хорошая практика.
  • Использование Laravel Forge для развертывания приложения Laravel и добавления дополнительных шагов для сборки приложения VueJS.Это казалось очень простым решением, однако процесс сборки, похоже, завершается сбоем, так как он занимает много времени и завершается сбоем без ошибок (тогда как я могу запустить точно такой же процесс на своей локальной машине или на другом сервере, размещенном в другом месте).Я не уверен, что это связано с тем, как сервер настроен, как Forge запускает сценарий развертывания, или сервер слишком слаб, чтобы его обработать.

Главный мой вопрос:лучшие практики для развертывания приложения таких компонентов?Я прочитал много учебных пособий / статей о развертывании приложения NodeJS или приложения Laravel, но не получил хорошей информации о сценарии, подобном этому.

Было бы лучше создать внешнее приложение локально иконтроль версий встроенного файла JS?Или я должен создать конвейер в Bitbucket, который будет создавать приложение, а затем развертывать его?Или лучше всего просто управлять версиями и развертывать исходные файлы и оставлять весь процесс сборки последним шагом в процессе развертывания, который будет выполнять сервер, на котором размещено само приложение?Также есть несколько статей, в которых предлагается разместить все интерфейсное приложение в корзине S3 - это тоже будет плохая практика?

Цените любую помощь и ресурсы, которые могут помочь!

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