Как сделать сборку проекта сайта на yii2 после коммита на гитхаб и передачи его на FTP для публикации

Сборка и публикация проекта на Yii2

Чтобы успешно собрать и опубликовать проект на Yii2 после коммита на GitHub и передачи его на FTP, следуйте этим шагам:

1. Подготовка проекта

Перед тем как отправить проект на FTP, убедитесь, что все изменения закоммичены и отправлены в репозиторий на GitHub. Для этого выполните следующие команды в терминале:

bash

git add .
git commit -m "Ваше сообщение о коммите"
git push origin main

2. Сборка проекта

Yii2 не требует специальной сборки, но вам нужно убедиться, что все зависимости установлены. Для этого выполните команду:

bash

composer install

Эта команда установит все необходимые зависимости, указанные в файле composer.json.

3. Подготовка к публикации

Перед загрузкой на FTP выполните следующие действия:

  • Настройка конфигурации: Убедитесь, что файл конфигурации config/web.php настроен для вашего продакшн-сервера. Проверьте параметры подключения к базе данных и другие настройки.
  • Очистка кэша: Если вы используете кэширование, очистите его перед публикацией:

bash

php yii cache/flush-all

4. Передача файлов на FTP

Используйте FTP-клиент (например, FileZilla) для передачи файлов на сервер. Вам нужно будет:

  • Подключиться к вашему FTP-серверу, используя предоставленные хостингом данные (хост, логин, пароль).
  • Перенести все файлы вашего проекта (включая папки vendorwebconfig и другие) в корневую директорию вашего сайта на сервере.

5. Проверка работы сайта

После завершения загрузки файлов откройте ваш сайт в браузере и проверьте, что все работает корректно. Если возникли ошибки, проверьте логи приложения, которые обычно находятся в папке runtime/logs.

А как это сделать автоматически на github.com

Автоматизация развертывания проекта Yii2 на FTP через GitHub

Чтобы автоматизировать процесс развертывания вашего проекта Yii2 на FTP после коммита на GitHub, вы можете использовать GitHub Actions. Это позволит вам автоматически загружать файлы на ваш FTP-сервер при каждом коммите. Вот как это сделать:

1. Создание файла конфигурации GitHub Actions

  1. В вашем репозитории на GitHub создайте папку .github/workflows, если она еще не существует.
  2. Внутри этой папки создайте файл, например, deploy.yml.

2. Настройка файла deploy.yml

Вставьте следующий код в файл deploy.yml. Этот код будет использовать FTP для загрузки файлов на ваш сервер:

yaml

name: Deploy to FTP

on:
  push:
    branches:
      - main  # Укажите вашу основную ветку

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Install dependencies
      run: composer install --no-dev --optimize-autoloader

    - name: Deploy to FTP
      uses: SamKirkland/FTP-Deploy-Action@4.1.0
      with:
        server: ${{ secrets.FTP_SERVER }}
        username: ${{ secrets.FTP_USERNAME }}
        password: ${{ secrets.FTP_PASSWORD }}
        local-dir: ./  # Путь к локальной директории вашего проекта
        server-dir: /path/to/your/server/directory  # Путь на сервере

3. Настройка секретов репозитория

Чтобы защитить ваши данные для входа на FTP, добавьте их в секции секретов вашего репозитория:

  1. Перейдите в настройки вашего репозитория на GitHub.
  2. Найдите раздел Secrets and variables и выберите Actions.
  3. Добавьте следующие секреты:
    • FTP_SERVER — адрес вашего FTP-сервера.
    • FTP_USERNAME — имя пользователя для FTP.
    • FTP_PASSWORD — пароль для FTP.

4. Проверка работы

Теперь, когда вы сделаете коммит в ветку main, GitHub Actions автоматически запустит процесс развертывания, который установит зависимости и загрузит файлы на ваш FTP-сервер.

Заключение

Используя GitHub Actions, вы можете автоматизировать процесс развертывания вашего проекта Yii2 на FTP, что значительно упростит управление обновлениями и публикацией. Убедитесь, что все пути и настройки корректны, чтобы избежать ошибок при развертывании.