refactor(ci): create artifacts

add startup stage
add job for backup manually edits on site
separate jobs for building front-end and migrations
update docker-compose: use only 1 container
update documentation in README
parent 0a173b3e
# Project folders and files to ignore
bitrix
upload
/www/bitrix
/www/upload
vendor
node_modules
bower_components
/db/*
!/db/.keep
# Numerous always-ignore extensions
*.diff
......
......@@ -19,10 +19,7 @@
1. Запустить контейнеры
Данная команда создаст/пересоздаст контейнеры:
- `DATA-%PROJECT_NUM%` - контейнер с базой данных
- `DEV-%PROJECT_NUM%` - контейнер с Битрикс
Данная команда создаст/пересоздаст контейнер с сайтом `DEV-%PROJECT_NUM%`
```bash
docker-compose up -d
......@@ -31,7 +28,7 @@ docker-compose up -d
2. Подключиться к контейнеру
```bash
docker exec -it CONTAINER_NAME bash
docker exec -it DEV-%PROJECT_NUM% bash
```
## Дополнительно
......@@ -46,11 +43,11 @@ docker exec -it CONTAINER_NAME bash
Параметры для подключения к базе данных:
- Host: `mysql`
- Host: `localhost`
- User: `root`
- Password: `123123rr`
- Без пароля
При выборе решения выбрать *Загрузить из Marketplace*, в списке решений выбрать *Чистая установка Битрикс*
При выборе решения выбрать **Загрузить из Marketplace**, в списке решений выбрать **Чистая установка Битрикс**
### Сборщик проектов Startanull
......
version: '2'
services:
mysql:
container_name: DATA-%PROJECT_NUM%
image: bitnami/mariadb:latest
environment:
- MARIADB_ROOT_PASSWORD=123123rr
volumes:
- /bitnami/mariadb
tty: true
ports:
- "3306"
bitrix:
container_name: DEV-%PROJECT_NUM%
image: zolotoykod/bitrix:latest
user: bitrix
working_dir: /home/bitrix/www
command: sudo /run.sh
volumes:
- ./www:/home/bitrix/www:Z
depends_on:
- mysql
links:
- mysql:mysql
- /var/lib/mysql
- /home/bitrix/backup
ports:
- "%PORT%:80"
- "22"
......@@ -30,5 +20,3 @@ services:
- 8.8.8.8
- 8.8.4.4
tty: true
user: bitrix
working_dir: /home/bitrix/www
stages:
- startup
- build
cache:
......@@ -9,16 +10,47 @@ cache:
- www/vendor/
- www/node_modules/
build:
stage: build
save_user_data:
stage: startup
script:
- echo 'Create artifacts for Bitrix core'
variables:
GIT_STRATEGY: none
artifacts:
untracked: true
paths:
- www/bitrix/
- www/upload/
expire_in: 1 day
startup:
stage: startup
script:
- docker-compose up -d
build_assets:
stage: build
script:
- docker exec -i DEV-%PROJECT_NUM% bash -c 'yarn install'
- docker exec -i DEV-%PROJECT_NUM% bash -c 'composer update'
- docker exec -i DEV-%PROJECT_NUM% bash -c 'gulp'
migrations:
stage: build
script:
- docker exec -i DEV-%PROJECT_NUM% bash -c 'composer update'
- docker exec -i DEV-%PROJECT_NUM% bash -c 'php migrator migrate'
allow_failure: true
.restore_bitrix:
stage: build
script:
- docker exec -i DEV-%PROJECT_NUM% bash -c 'cp /home/bitrix/backup/bitrix.tar.gz .'
- docker exec -i DEV-%PROJECT_NUM% bash -c 'tar -xzvf bitrix.tar.gz'
- docker exec -i DEV-%PROJECT_NUM% bash -c 'rm -f bitrix.tar.gz'
when: manual
.backup_bitrix:
stage: build
script:
- docker exec -i DEV-%PROJECT_NUM% bash -c 'tar -czf bitrix.tar.gz bitrix/ upload/'
- docker exec -i DEV-%PROJECT_NUM% bash -c 'mv bitrix.tar.gz /home/bitrix/backup/'
when: manual
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