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 # Project folders and files to ignore
bitrix /www/bitrix
upload /www/upload
vendor vendor
node_modules node_modules
bower_components bower_components
/db/*
!/db/.keep
# Numerous always-ignore extensions # Numerous always-ignore extensions
*.diff *.diff
......
...@@ -19,10 +19,7 @@ ...@@ -19,10 +19,7 @@
1. Запустить контейнеры 1. Запустить контейнеры
Данная команда создаст/пересоздаст контейнеры: Данная команда создаст/пересоздаст контейнер с сайтом `DEV-%PROJECT_NUM%`
- `DATA-%PROJECT_NUM%` - контейнер с базой данных
- `DEV-%PROJECT_NUM%` - контейнер с Битрикс
```bash ```bash
docker-compose up -d docker-compose up -d
...@@ -31,7 +28,7 @@ docker-compose up -d ...@@ -31,7 +28,7 @@ docker-compose up -d
2. Подключиться к контейнеру 2. Подключиться к контейнеру
```bash ```bash
docker exec -it CONTAINER_NAME bash docker exec -it DEV-%PROJECT_NUM% bash
``` ```
## Дополнительно ## Дополнительно
...@@ -46,11 +43,11 @@ docker exec -it CONTAINER_NAME bash ...@@ -46,11 +43,11 @@ docker exec -it CONTAINER_NAME bash
Параметры для подключения к базе данных: Параметры для подключения к базе данных:
- Host: `mysql` - Host: `localhost`
- User: `root` - User: `root`
- Password: `123123rr` - Без пароля
При выборе решения выбрать *Загрузить из Marketplace*, в списке решений выбрать *Чистая установка Битрикс* При выборе решения выбрать **Загрузить из Marketplace**, в списке решений выбрать **Чистая установка Битрикс**
### Сборщик проектов Startanull ### Сборщик проектов Startanull
......
version: '2' version: '2'
services: services:
mysql:
container_name: DATA-%PROJECT_NUM%
image: bitnami/mariadb:latest
environment:
- MARIADB_ROOT_PASSWORD=123123rr
volumes:
- /bitnami/mariadb
tty: true
ports:
- "3306"
bitrix: bitrix:
container_name: DEV-%PROJECT_NUM% container_name: DEV-%PROJECT_NUM%
image: zolotoykod/bitrix:latest image: zolotoykod/bitrix:latest
user: bitrix
working_dir: /home/bitrix/www
command: sudo /run.sh command: sudo /run.sh
volumes: volumes:
- ./www:/home/bitrix/www:Z - ./www:/home/bitrix/www:Z
depends_on: - /var/lib/mysql
- mysql - /home/bitrix/backup
links:
- mysql:mysql
ports: ports:
- "%PORT%:80" - "%PORT%:80"
- "22" - "22"
...@@ -30,5 +20,3 @@ services: ...@@ -30,5 +20,3 @@ services:
- 8.8.8.8 - 8.8.8.8
- 8.8.4.4 - 8.8.4.4
tty: true tty: true
user: bitrix
working_dir: /home/bitrix/www
stages: stages:
- startup
- build - build
cache: cache:
...@@ -9,16 +10,47 @@ cache: ...@@ -9,16 +10,47 @@ cache:
- www/vendor/ - www/vendor/
- www/node_modules/ - www/node_modules/
build: save_user_data:
stage: build 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: script:
- docker-compose up -d - 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 'yarn install'
- docker exec -i DEV-%PROJECT_NUM% bash -c 'composer update'
- docker exec -i DEV-%PROJECT_NUM% bash -c 'gulp' - docker exec -i DEV-%PROJECT_NUM% bash -c 'gulp'
migrations: migrations:
stage: build stage: build
script: script:
- docker exec -i DEV-%PROJECT_NUM% bash -c 'composer update'
- docker exec -i DEV-%PROJECT_NUM% bash -c 'php migrator migrate' - 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