Skip to content

Задача на создание нового проекта nuxt 2 (backend)

Название проекта:


Клонирование репозитория

shell
git clone git@gitlab.runway-agency.ru:dev/nuxt-2-starter.git ./

Инструкция создания площадки

Linux

  1. Создание конфига nginx в директории /etc/nginx/sites-available/
shell
sudo gedit /etc/nginx/sites-available/#projectName#.conf
Конфиг nginx
nginx
server {
	listen 80;
	listen [::]:80;

	set $root /var/www/#projectName#.local/#projectName#/backend;
	root $root;

	index index.php index.html index.htm;

	server_name #projectName#.local;

	set $php_sock unix:/run/php/php8.3-fpm.sock;

	location / {
		proxy_redirect off;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		proxy_read_timeout 1m;
		proxy_connect_timeout 1m;
		proxy_pass http://localhost:3000;
    	}

    	location /__admin/ {
		index index.php;
	      	try_files $uri $uri/ @bitrix;
    	}

	  location /upload/ {
            try_files $uri @bitrix;
		fastcgi_pass $php_sock;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        	include fastcgi_params;
        }


	location /api/ {
		index index.php;
		add_header Access-Control-Allow-Origin *;
	      	try_files $uri $uri/ @bitrix;
	}

    	location ~* /upload/.*\.(php|php3|php4|php5|php6|phtml|pl|asp|aspx|cgi|dll|exe|shtm|shtml|fcg|fcgi|fpl|asmx|pht|py|psp|rb|var)$ {
                types {
                        text/plain text/plain php php3 php4 php5 php6 phtml pl asp aspx cgi dll exe ico shtm shtml fcg fcgi fpl asmx pht py psp rb var;
                }
        }

        location ~* ^/bitrix/(modules|local_cache|stack_cache|managed_cache|php_interface) {
		deny all;
	}

	location /bitrix/ {
		index index.php;
		try_files       $uri $uri/ @bitrixadm;
	}

	location ~ \.php$ {
		try_files $uri @bitrix;
		fastcgi_pass $php_sock;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        	include fastcgi_params;
	}

	location @bitrix {
		fastcgi_pass    $php_sock;
		include fastcgi_params;
		fastcgi_param SCRIPT_FILENAME $document_root/bitrix/urlrewrite.php;
	}

	location ~* /\.(svn|hg|git) {
		deny all;
	}
}
  1. Добавить символьную ссылку в активные конфиги
shell
sudo ln -s /etc/nginx/sites-available/#projectName#.conf /etc/nginx/sites-enabled/
  1. Добавить новый хост в файл /etc/hosts
shell
sudo gedit /etc/hosts
  1. Перезагрузить nginx
shell
sudo nginx -s reload

Установка composer зависимостей

В корне проекта выполнить команду.

shell
composer install --prefer-source

Доступ к хранилищу модулей

Для получения доступа к хранилищу модулей, необходимо выполнить команду

shell
composer config http-basic.satis.runway-agency.ru #ЛОГИН В Б24# #ПАРОЛЬ В Б24# --global

Создание и распаковка архивов

Создание

shell
tar -cGzf bitrix.tar.gz bitrix
shell
tar -cGzf upload.tar.gz upload

Распаковка

shell
tar -xzf bitrix.tar.gz
shell
tar -xzf upload.tar.gz

Создание символьных ссылок

shell
ln -fs last_release current

Настройка CI в gitlab

  1. Перейти в раздел настроек CI
  2. В секции Variables добавить переменную RW_DEV_ROOT со значением /var/www/#projectName# (DOCUMENT_ROOT проекта на дев сервере). Переменная не должна быть защищенной
Пример

Пример

Настройка Webhook в gitlab

  1. Перейти в раздел настроек Webhooks
  2. Добавить вебхук на урл https://bitrix24.runway-agency.ru/api/task/gitlabrevision/
Пример

Пример

Изменение адреса удаленного репозитория

shell
git remote set-url origin git@gitlab.runway-agency.ru:dev/#projectName#.git

Автоматическая настройка стартера

Для того чтобы проставить нужные переменные и настройки в стартере (название проекта, порты и т.п.) необходимо воспользоваться модулем realweb.api.consol.

В директории проекта выполнить

shell
php backend/bitrix/tools/console starter

Ввести название проекта и ранее сохраненный в п.8.1 порт node.

Создание дампа БД в cms Bitrix

  1. Перейти в раздел создания резервной копии
  2. Выбрать Размещение резервной копии - в папке сайта
Пример

Пример

  1. Во вкладке "Параметры" Включить экспертные настройки создания резервной копии и настроить копирование только базы данных (Архивировать ядро и публичную часть не надо)
Пример

Пример

  1. Скачать получившуюся резервную копию и файл restore.php
Пример

Пример

  1. Залить оба файла в директорию проекта /var/www/#projectName#/last_release/backend
  2. Запустить на тестовом сайте файл http://#projectName#.bitrix.dev.realweb.ru/restore.php
  3. Ввести корректные доступы к БД, полученные в п. 8.1 (Пользователь и пароль находятся в Б24 в разделе Пароли)
  4. Зайти по ftp на сервер и скорректировать доступы к бд в файле /var/www/#projectName#/bitrix/.settings.php
php
array(
    'className' => '\\Bitrix\\Main\\DB\\MysqliConnection',
    'host' => 'localhost',
    'database' => 'dev_#projectName#', 
    'login' => '***', 
    'password' => '*****************', 
    'options' => 2.0,
  )