Рубрики
Uncategorized

Развертывание Zero Larave Zero SpaseTime с общим хостингом

Многие разработчики изо всех сил пытаются принять приложение Laravel так, чтобы они могли развернуть свои лезоты … Теги с Laravel, Git, развертывание, дежоптом.

Многие разработчики борются за проведение приложения Laravel так, чтобы они могли автоматически развернуть их последнее обновление до производства.

Я хочу поделиться некоторыми методами, которые я лично использую.

В общем хостинге вы можете обновить свое производственное приложение, используя GIT VCS. Это действительно крутая особенность. Но нам нужно еще.

Нам нужно убедиться, что каждый раз мы обновляем наше приложение, наши производственные приложения, а также обновление Cache.

Существует два развертывания на общем хостинге.

  1. Храните свой репозиторий в платформе Хостинга хранилища, как GitHub. Обновите производственное приложение, потянув с вашего сервера.
  2. Нажмите на ваш репозиторий прямо на сервер. (Должен иметь SSH-доступ).

1. Хозяин где-то и тянет с сервера

Храните свой репозиторий на любой платформе репозитории, как GitHub.

Скопируйте URL-адрес клона. Теперь отправляйтесь в CPanel и перейдите к Git ™ Version Control Теперь нажмите на Создать Кнопка для создания репозитория на вашем сервере.

Форма появится. Вставить URL-адрес клона. Дайте название каталога, если вы хотите развернуть приложение к каталогу public_html, сначала чистый каталог public_html и напишите public_html в пути репозитория.

Помещение приложения Laravel в Pubbine_html не является хорошим для причины безопасности. Если вы хотите знать, как поставить Laravel в другой каталог и ссылку на Public HTML, читать Связывание public_html в общественный каталог Laravel в общем хостинге

Теперь нажмите Создать Кнопка для создания хранилища. Если ваш репозиторий является публичным, ваш сервер будет клонировать репозиторий.

Если ваш репозиторий является общедоступным, прочитайте развертывание частного гита для совместного использования хостинг

Теперь у вас есть клон-копия вашего репозитория на вашем сервере.

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

Для синхронизации серверов репозиторий, войдите в CPanel и перейдите к Git ™ Version Control под Файлы категория. Вы увидите список репозитория. Нажмите на Управлять Кнопка рядом с репозиторием вы хотите синхронизировать.

Теперь нажмите на Потяните или развернуть вкладка.

Нажмите на Обновление с удаленного Кнопка для обновления с удаленного репозитория.

Теперь ноль развертывания развертывания простоя.

Мы хотим автоматизировать часть развертывания, чтобы каждый раз мы всего обновляем что-нибудь, перенесите последние обновления и Reche Config, Views и события.

Поместите все команды, которые вы хотите запустить каждый раз, когда любое обновление станет доступным в производстве в файле Bash.

И выполнить его каждый раз после обновления хранилища серверов.

Мы можем использовать работу Cron для автоматизации этой задачи.

#!/usr/bin/env bash

LAST_GIT_HASH=`git rev-parse --short HEAD`
LAST_HASH=`cat .git/laste_hash.txt`
if [[ "$LAST_GIT_HASH" != "$LAST_HASH" ]]; then
    cd /home/user/path_to_repository/
    php artisan down
    composer install -o --no-dev
    php artisan migrate --force
    php artisan optimize
    php artisan up
    git rev-parse --short HEAD > .git/laste_hash.txt
fi

Вы можете добавить столько команд, которые вам нужны.

Поместите этот файл Bash, где вы создали репозиторий Git. Вы должны добавить это в свой проект, чтобы вы могли отслеживать его или добавить этот файл Bash в файле .gitignore, чтобы ваши серверы не отслеживали его.

Выполните этот скрипт оболочки в каждой минуте, добавив эту команду на вкладке CRON.

/usr/bin/bash/home/user/path_to_reposity/script.sh>/dev/null 2> & 1

Этот скрипт проверяет, если последнее развернутое фиксация и проверенная головка даже или нет. Если нет, он выполнит команды между условием.

2. Нажмите свой репозиторий прямо на сервер

Таким образом, вам не нужно хранить свой репозиторий в облаке. Вы можете нажать с вашего компьютера (должен иметь SSH-доступ).

Сначала войдите в CPanel и перейдите к Управление версией Git ™ Теперь нажмите на Создать Кнопка для создания репозитория на вашем сервере.

Форма появится. На этот раз выключаются Клонировать репозиторий Переключатель Toggle, потому что мы никуда не клонируем.

Дайте название каталога, если вы хотите развернуть приложение к каталогу public_html, сначала чистый каталог public_html и напишите public_html в пути репозитория.

Помещение приложения Laravel в Pubbine_html не является хорошим для причины безопасности. Если вы хотите знать, как поставить Laravel в другой каталог и ссылку на Public HTML, читать Связывание public_html в общественный каталог Laravel в общем хостинге

В настоящее время нажмите Создать Кнопка для создания хранилища.

Вы увидите страницу с командой обучения.

Следуйте тем инструкциям, чтобы протолкнуть локальный репозиторий на сервер.

Теперь ноль развертывания развертывания простоя.

На этот раз мы будем использовать Git Hook для автоматизации этой задачи. Каждый раз, когда мы нажимаем любое обновление на удаленный репозиторий, Git выполняет пост-прием крюк.

Чтобы настроить Git Hook для нашей задачи, нам нужно редактировать скрипт крюка. Если ваш репозиторий в /Главная/Пользователь/Репозитории/Пример каталог, путь пост-прием путь будет /home/user/Repositories/example/.git/hooks/post-receive Отказ

Вы можете редактировать с помощью текстового редактора CPanel, или от клеммы SSH.

Некоторый скрипт должен быть уже там, просто перейдите к концу файла и вставьте команды развертывания.

cd /home/user/repositories/example/
php artisan down
composer install -o --no-dev
php artisan migrate --force
php artisan optimize
php artisan up

Вы можете добавить столько команд, которые вам нужны.

После добавления этих команд пост-прием Файл будет похоже,

Вы увидите вывод этого крюка при нажатии с компьютера.

Веселитесь 🎉 !!!

Оригинал: «https://dev.to/hazzazbinfaiz/laravel-zero-downtime-deployment-with-shared-hosting-454m»