initial commit

parents
# editorconfig.org
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
[*.{js,less,css,sass,scss,json,yml}]
indent_size = 2
indent_style = space
{
"extends": "google",
"env": {
"browser": true,
"node": true,
"es6": true
},
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"ecmaFeatures": {
"globalReturn": true,
"impliedStrict": true,
"experimentalObjectRestSpread": true
}
},
"rules": {
"no-multiple-empty-lines": ["error", {"max": 2}],
"curly": ["error", "multi"],
"quotes": ["error", "single"],
"arrow-parens": ["error", "always"]
}
}
# Project folders and files to ignore
bitrix
upload
vendor
node_modules
bower_components
/db/*
!/db/.keep
# Numerous always-ignore extensions
*.diff
*.err
*.orig
*.log
*.rej
*.swo
*.swp
*.zip
*.vi
*~
*.lock
# OS or Editor folders
.DS_Store
._*
Thumbs.db
.cache
.project
.settings
.tmproj
*.esproj
nbproject
*.sublime-project
*.sublime-workspace
.idea
*.komodoproject
.komodotools
.atom
.vscode
.directory
# Docker Compose конфиг для Bitrix
## Подготовительная настройка
1. Поправить `docker-compose.yml`:
* `%PROJECT_NUM%` заменить на номер проекта, например `1-111`;
* `%PORT%` заменить на порт, например `1111`. По этому порту будет доступен 80-й порт контейнера.
1. Настроить репозиторий:
* В настройках репозитория включить Builds, если не включен
* Подключить раннер `111-DEV-HST`
* Переименовать `gitlab-ci.yml` в `.gitlab-ci.yml` для работы CI
## Запуск
1. Запустить контейнеры
Данная команда создаст/пересоздаст контейнеры:
* `DATA-%PROJECT_NUM%` - контейнер с базой данных
* `DEV-%PROJECT_NUM%` - контейнер с Битрикс
```bash
docker-compose up -d
```
1. Подключиться к контейнеру
```bash
docker exec -it CONTAINER_NAME bash
```
## Дополнительно
### Установка Битрикс
1. Откатиться к первому коммиту
1. Стартовать контейнеры
1. Открыть в браузере сайт (`dev-%PROJECT_NUM%.zolotoykod.ru` для сервера, `[your-ip]:%PORT%` для локальной версии)
1. Перейти на страницу с установщиком `/bitrixsetup.php`
1. Установить необходимую версию Битрикс
Параметры для подключения к базе данных:
* Host: `mysql`
* User: `root`
* Password: `123123rr`
При выборе решения выбрать *Загрузить из Marketplace*, в списке решений выбрать *Чистая установка Битрикс*
### Сборщик проектов Startanull
Установка зависимостей Node.js для фронт-энда
```bash
npm install
```
Документация по [сборщику](https://github.com/hustlahusky/startanull)
### Миграции для Битрикс
Установка зависимостей Composer
```bash
composer update
```
Настройка миграций
```bash
cp vendor/arrilot/bitrix-migrations/migrator migrator
php migrator install
php migrator migrate
```
Для автоматического создания миграций добавить в `bitrix/php_interface/init.php`:
```php
include_once $_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php';
Arrilot\BitrixMigrations\Autocreate\Manager::init($_SERVER["DOCUMENT_ROOT"].'/migrations');
```
Для автоматически созданных миграций требуется:
* Исправить форматирование для соответствия стандартам разработки в Золотом Кода
* Добавить подключения модуля инфоблоков
```
CModule::IncludeModule('iblock');
```
Документация по [миграциям](https://github.com/arrilot/bitrix-migrations)
version: '2'
services:
mysql:
container_name: DATA-%PROJECT_NUM%
image: bitnami/mariadb:latest
environment:
- MARIADB_ROOT_PASSWORD=123123rr
volumes:
- ./db/data:/bitnami/mariadb/data:Z
tty: true
ports:
- "3306"
bitrix:
container_name: DEV-%PROJECT_NUM%
image: zolotoykod/bitrix:latest
command: /run.sh
volumes:
- ./www:/home/bitrix/www:Z
depends_on:
- mysql
links:
- mysql:mysql
ports:
- "%PORT%:80"
- "22"
environment:
- VIRTUAL_HOST=DEV-%PROJECT_NUM%.zolotoykod.ru
dns:
- 8.8.8.8
- 8.8.4.4
tty: true
stages:
- build
cache:
untracked: true
paths:
- db/
- www/bitrix/
- www/upload/
- www/vendor/
- www/node_modules/
build:
stage: build
script:
- docker-compose up -d
- docker exec -it DEV-%PROJECT_NUM% bash -c 'cd /home/bitrix/www/ && yarn install'
- docker exec -it DEV-%PROJECT_NUM% bash -c 'cd /home/bitrix/www/ && composer update'
- docker exec -it DEV-%PROJECT_NUM% bash -c 'cd /home/bitrix/www/ && gulp'
- docker exec -it DEV-%PROJECT_NUM% bash -c 'cd /home/bitrix/www/ && php migrator migrate'
This diff is collapsed.
{
"authors": [
{
"name": "Constantine Karnaukhov",
"email": "genteelknight@gmail.com"
}
],
"require": {
"arrilot/bitrix-migrations": "^2.1"
}
}
'use strict';
const path = require('path');
const startanull = require('startanull');
// let templatePath = 'local/templates/[template_name]';
let templatePath = '';
let srcDir = path.resolve(__dirname, templatePath, 'src');
let resDir = path.resolve(__dirname, templatePath, 'dist');
let conf = {};
let gulp = conf.gulp = require('gulp');
// BrowserSync
conf.browserSyncOpts = {
proxy: 'dev-1-9927.zk.dev'
};
conf.browserSyncWatch = [
resDir + path.sep + '**',
'!' + srcDir + path.sep + '**'
];
// Styles
conf.stylesSrc = path.resolve(srcDir, 'styles') + path.sep + 'style.less';
conf.stylesDest = path.resolve(resDir, 'css');
conf.stylesWatch = [
path.resolve(srcDir, 'styles') + `${path.sep}**${path.sep}*.less`
];
// Scripts
conf.scriptsSrc = path.resolve(srcDir, 'scripts') + path.sep + 'main.js';
conf.scriptsDest = path.resolve(resDir, 'js');
conf.scriptsWebpack = {};
conf.scriptsWebpack.output = {
filename: '[name].js'
};
conf.scriptsWebpack.devtool = 'eval';
conf.scriptsWebpack.module = {
loaders: [
{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel',
query: {
presets: ['es2015']
}
}
]
};
// Templates
conf.templatesSrc = path.resolve(srcDir, 'pug') + path.sep + '*.pug';
conf.templatesDest = resDir;
conf.templatesWatch = '';
conf.templatesPugOpts = {
locals: {},
pretty: true
};
startanull(conf);
{
"author": "Constantine Karnaukhov <genteelknight@gmail.com>",
"devDependencies": {
"gulp": "^3.9.1",
"startanull": "^1.1.1"
},
"dependencies": {
"jquery": "2.2.*",
"uikit": "^2.27.1"
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment