2017.09. Краткая инструкция по обновлению сайта onix-systems.com
Sep 8, 2017
1 min read
20 views
Share

Обновление через скрипт

Обновление кода производится путем запуска следующего скрипта:

$ ssh root@onix-systems.com update-production

Инструкция по обновлению вручную

 $ ssh root@onix-systems.com
 $ cd /opt/projects/onix-systems.com/production-v2/sources/onix-2016/
 $ git pull
 $ cd /opt/projects/onix-systems.com/production-v2/sources/onix-systems-2016-v2/
 $ git pull
 $ cd /opt/projects/onix-systems.com/production-v2/
 $ docker-compose build
 $ docker-compose up -d

Обновление staging.onix-systems.com

Обновление происходит в автоматическом режиме, посредством Jenkins CI (https://jenkins.office.onix.ua). Раз в пять минут проверяются обновления репозиториев: фронтента и бекенда.

Билд процес описан в скрипте Jenkinsfile, который пулитя Jenkins-ом с репозитория при обновлении: https://bitbucket.org/onix-systems/onix-deploy/

Обновление сертификата для https://onix-systems.com

Загрузить новые сертификаты в каталог /etc/nginx/ssl/certs/ на сервере onix-systems.com и выполнить

$ nginx -t
$ service nginx restart

Настройка сервера

Сервер настраиватся путем запуска ansible плейбука, который находится в репозитории: onix-deploy

Действия:

$ ssh root@onix-systems.com
$ cd /root/onix-deploy/ansible
$ git pull
# All possible environments will be configured
$ ./x-all.setup.sh local
# For production only
$ ./x-production.setup.sh local
# For staging only
$ ./x-staging.setup.sh local

Все default настройки сохранены в репозитории. Измененные параметры находятся в каталоге на сервере /root/onix-deploy/ansible/secrets-production.yml и /root/onix-deploy/ansible/secrets-staging.yml

Сценарий включает настройку и запуск двух окружений: production и staging, с конфигурированием файлов для соответвующих виртуальных хостов в /etc/nginx/conf.d.

Тестирование сценария настройки сервера возможно в vagrant-окружении

$ cd ./onix-deploy
$ vagrant up

PS. Необходимо вручную подготовить ключ для клонирования репозитория. После клонирования репозитория необходимо подготовить конфиги бекенда и фронтенда отдельно. Плейбук проверить наличие всех необходимых файлов, если что-то не будет найдено, то сценарий завершит работу.