Структура для проекта на 1С Битрикс
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docker
documents
examples
frontend
lib
migrations
tests
web/local
.bxcodegen.yaml
.gitignore
.php_cs.dist
LICENSE
README.MD
cli.php
codeception.yml
composer.json
cron_events.php

README.MD

Описание проекта

Сайт для проекта «».

Как отправить изменения на боевой сервер

  1. Перейти в консоли в корневую папку репозитория.

  2. Запустить команду: php rocketeer.phar update --migrate --on=prod.

  3. В качестве скрипта для деплоя используется rocketeer.

Как отправить изменения на тестовый сервер

  1. Перейти в консоли в корневую папку репозитория.

  2. Запустить команду: php rocketeer.phar update --migrate --on=dev.

  3. В качестве скрипта для деплоя используется rocketeer.

Как развернуть проект на локальной машине

  1. Клонировать репозиторий.

  2. Создать файл .settings.php в папке /web/bitrix/.

  3. Скопировать содержимое файла /examples/.settings.php в /web/bitrix/.settings.php и добавить логин, пароль и название для локальной базы данных.

  4. Создать файл dbconn.php в папке /web/bitrix/php_interface/.

  5. Скопировать содержимое файла /examples/dbconn.php в /web/bitrix/php_interface/dbconn.php и добавить логин, пароль и название для локальной базы данных.

  6. Установить библиотеки composer, выполнив команду php composer.phar install.

  7. Базу данных следует устанавливать отдельно из дампа, созданного на боевом сервере.

Как обновить проект на локальной машине

  1. Перейти в консоли в папку репозитория и переключиться в нужную ветку, выполнив команду git checkout имя_нужной_ветки.

  2. Получить последние обновления из нужной ветки, выполнив команду git pull origin имя_нужной_ветки.

  3. Обновить библиотеки composer, выполнив команду php composer.phar install.

  4. Применить новые миграции, выполнив команду php cli.php bxmigrate:up.

Как создать миграцию

  1. Перейти в консоли в корневую папку репозитория.

  2. Запустить команду: php cli.php bxmigrate:create название_миграции.

  3. Файл миграции появится в каталоге /migrations

  4. Реализовать в классе два метода: up - для установки миграции, down - для удаления миграции.

  5. Более подробное описание миграций.

Как применить миграции на локальной машине

  1. Перейти в консоли в корневую папку репозитория.

  2. Запустить команду: php cli.php bxmigrate:up.

Как удалить миграции на локальной машине

  1. Перейти в консоли в корневую папку репозитория.

  2. Запустить команду: php cli.php bxmigrate:down количество_миграций_начиная_с_последней_для_удаления.

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

Генерация кода

Некоторые структурные единицы кода можно создать по шаблону.

  1. Перейти в консоли в корневую папку репозитория.

  2. Для создания компонента запустить команду: php cli.php bxcodegen:component пространство_имен:название_компонента.

  3. Для создания модуля запустить команду: php cli.php bxcodegen:module вендор.название_модуля.

  4. Более подробное описание кодогенератора.

Docker

Для запуска окружения проекта можно использовать Docker.

  1. Установить последнюю стабильную версию docker.

  2. Установить последнюю стабильную версию docker compose.

  3. Создать файл .env в папке docker, скопировать в него содержимое файла .env.dist, при необходимости заменить параметры:

    1. важно для linux чтобы docker не создавал все новый файлы от имени root, нужно обязательно изменить параметры HOST_USER_ID и HOST_GROUP_ID на идентификатор вашего пользователя и идентификатор его группы соответственно.
  4. Перейти в консоли в папку docker репозитория проекта и выполнить команду docker-compose up -d --build.

  5. После запуска окружения проект будет доступен по ссылке http://localhost:8080.

  6. Для подключения к базе данных следует использовать:

    1. host - mysql,

    2. database - mydb,

    3. login - user,

    4. password - userpass.

  7. Операции с composer следует выполнять через docker-compose exec:

    1. например, для установки библиотек следует использовать docker-compose exec php composer install,

    2. важно для linux каждая команда docker-compose exec должна сопровождаться указанием пользователя, например, docker-compose exec -u $UID php composer install.

  8. Все операции с файлом cli.php следует выполнять через docker-compose exec:

    1. например, для применения миграций следует использовать docker-compose exec php php cli.php bxmigrate:up,

    2. важно для linux каждая команда docker-compose exec должна сопровождаться указанием пользователя, например, docker-compose exec -u $UID php php cli.php bxmigrate:up.

Описание структуры проекта

  1. .rocketeer папка с настройками деплоя для rocketeer
  2. documents папка, в которой должна содержаться вся документация по проекту.
  3. docker папка, в которой содержаться файлы для настройки и запуска окружения в docker.
  4. examples папка, в которой должны лежать примеры файлов настройки «1С-Битрикс: Управление сайтом».
    1. .settings.php
    2. dbconn.php
  5. frontend папка, в которой будут лежать файлы, необходимые для сборки frontend.
  6. lib папка, в которой будут лежать файлы классов, которые были написаны специально для проекта.
  7. migrations папка, в которой располагаются файлы миграций для проекта.
  8. tests папка, в которой расположены файлы codeception с тестами для проекта.
  9. vendor папка с библиотеками, загруженными с помощью composer.
  10. web папка, которая будет доступна из web.
    1. bitrix папка с файлами, принадлежащими дистрибутиву «1С-Битрикс: Управление сайтом».
    2. local папка со всеми компонентами, шаблонами и модулями, которые потребовались для проекта.
      1. php_interface/init.php файл, который подключается при каждом запуске битрикса и служит для определения дополнительных классов и функций.
  11. .bxcodegen.yaml служебный файл с настройками кодогенерации.
  12. .gitignore служебный файл git, который исключает некоторый файлы и папки из репозитория.
  13. .php_cs.dist служебный файл php cs fixer с настройками стиля кода проекта.
  14. LICENSE текст лицензии, согласно которой распространяется проект.
  15. README.MD файл в формате markdown с кратким описанием проекта.
  16. cli.php php скрипт для запуска приложения из консоли.
  17. codeception.yml описание и настройки тестов codeception.
  18. composer.json файл настройки composer.
  19. composer.phar файл со скриптом composer.
  20. cron_events.php скрипт для запуска агентов битрикс с помощью cron.
  21. rocketeer.phar файл со скриптом rocketeer.

Команда разработчиков

  1. Менеджер проекта: .

  2. Программист: .