У разработчиков есть различные опции и инструменты для создания автоматических развертываний для своих проектов. Эти параметры автоматического развертывания гарантируют, что время не будет потрачено впустую на добавление новых блоков кодирования вручную между файлами. Хорошей новостью является то, что разработчики теперь могут выбирать из множества инструментов развертывания, включая DeployBot и DeployHQ.
Для целей этой статьи я выбрал популярный инструмент развертывания с нулевым временем “Envoyer”, созданный создателем Laravel Тейлором Отвеллом. В то время как Envoyer считается опцией “по умолчанию” для развертывания приложений Laravel, я продемонстрирую его возможности развертывания приложений Symfony на Cloudways .
Команда, стоящая за Symfony, недавно опубликовала последние версии Symfony, 3.4 и 4.0. Эти версии имеют иную структуру по сравнению со стандартными версиями выпуска. Я не буду вдаваться в подробности Symfony 4 . Аналогичным образом, если вы хотите обновить Symfony 3.x до версии 4, следуйте этому подробному руководству по обновлению .
Так что теперь вернемся к делу.
Envoyer – это инструмент развертывания, используемый для развертывания приложений PHP. Самое лучшее в этом инструменте – нулевое время простоя во время развертывания. Это означает, что ваше приложение и клиенты, использующие его, даже не знают о том факте, что была выпущена новая версия. Envoyer хорошо работает с основными платформами управления репозиториями, такими как Github, GitLab и Bitbucket. Другие преимущества включают неограниченное количество развертываний и членов команды.
В следующем руководстве вы ознакомитесь с процессом развертывания приложений Symfony в облачных средах с помощью Envoyer.
Создайте учетную запись Envoyer и добавьте проект
Создайте учетную запись Envoyer и войдите в нее. Затем добавьте новый проект. Для целей этого урока я вхожу в систему, используя свою учетную запись Github.
Подключить репозиторий GitHub
Затем подключите свой репозиторий Github. Просто скопируйте имя пользователя/репозиторий для URL-адреса репозитория Github и вставьте его в поле ввода. Поскольку я не развертываю приложение Laravel, выберите Другой переключатель и нажмите кнопку Сохранить проект.
Проект будет добавлен в учетную запись, и репозиторий GitHub теперь будет подключен к Envoyer.
Добавьте сервер
Следующим шагом будет интеграция сервера Cloudways. Для этого перейдите на вкладку Сервер и нажмите кнопку Добавить сервер.
Затем войдите в свою учетную запись Cloudways и получите учетные данные для добавления сервера в разделе “Основные учетные данные” на вкладке “Управление сервером” консоли Cloudways.
Заполните все необходимые поля и введите полный абсолютный путь к вашему приложению Cloudways и сохраните сервер.
После сохранения сервера вам будет предоставлен SSH-ключ.
Скопируйте ключ, перейдите на консоль Cloudways и нажмите кнопку “Открытые ключи SSH”. Прикрепите ярлык к своему ключу и нажмите кнопку Отправить.
После добавления SSH-ключа вы сможете подключиться к своему серверу. Нажмите крошечную кнопку Обновить, чтобы проверить состояние подключения.
Окончательное развертывание
На данный момент все настроено правильно. Заключительный шаг – нажать кнопку Развернуть для фактического развертывания проекта. Вы также можете развертывать приложения с помощью Git Push, выбрав в настройках опцию “Развертывать при загрузке кода”.
Envoyer спросит вас, из какой ветки или тега вам нужно развернуть код приложения. Я выбрал ветвь по умолчанию, которая также является главной ветвью.
Нажмите кнопку “Развернуть” прямо сейчас. Процесс развертывания можно просмотреть на вкладке развертывание. Вы можете получить дополнительную информацию, связанную с развертыванием, нажав кнопку со стрелкой рядом со статусом развертывания.
Вы можете ясно видеть, что Envoyer занимает минимальное время для развертывания приложения на вашем сервере.
Папки развертывания на облачных путях
После развертывания войдите в терминал SSH на Cloudways и перейдите в папку вашего приложения. Вы найдете две папки: текущие и выпуски.
В текущей папке находится основное приложение, которое находится в разработке, а папка выпуска содержит папку предыдущих выпусков с указанием даты и времени развертывания.
Вы можете проверить статус своей заявки в трех местах (Нью-Йорк, Лондон, Сингапур). В случае аварии у вас есть возможность отменить текущее развертывание. Для этого включите эту опцию, указав URL-адрес проверки работоспособности в настройках. Кроме того, вы можете настроить частоту сердечных сокращений для мониторинга заданий cron для вашего приложения. Вы также можете настроить канал уведомлений, такой как Slack и Hipchat, для получения уведомлений, связанных с развертыванием.
Завершая все это
Как вы могли видеть, Envoyer – отличный вариант для развертывания приложений PHP. Процесс прост, и вы можете напрямую подключить процесс к платформе управления версиями, чтобы гарантировать, что последняя версия приложения будет развернута в любое время. Если вам нужна помощь в этом процессе, оставьте комментарий, и я вам перезвоню.
Оригинал: “https://dev.to/_shahroznawaz/how-i-automated-symfony-deployment-with-envoyer-212f”