Развертывание development среды¶
Для развертывания среды разработчика TKControl необходимо поднять VM, где будут подняты все сервисы.
Требования к характеристикам VM:
volume: > 40 GB
image: ubuntu18cloud
flavor: c2_r4_d0
network: Develop
key pair: tkcontrol
Настроим основной ПК, где будет происходить изменение кода:
sudo apt update -y
sudo apt install lsyncd git
# Установите ssh key для development server
# Склонируйте TKControl проект
mkdir Tionix
cd Tionix
git clone "ssh://d.skupov@10.40.129.4:29418/tkcontrol"
# Создайте lsyncd файл
cat <<EOF | tee lsyncd-tkcontrol.conf
settings {
nodaemon = true,
}
sync {
default.rsyncssh,
source = "/home/skupov/Tionix/tkcontrol",
exclude = { "*/node_modules/*" },
targetdir = "/home/ubuntu/tkcontrol",
host = "ubuntu@10.40.129.68",
delay = 1,
}
EOF
# Измените в файле lsyncd-tkcontrol.conf
# source, targetdir и host на ваши параметры
# Запустите синхронизацию файлов
lsyncd lsyncd-tkcontrol.conf
Поднимим и настроим development сервер:
sudo apt update -y
sudo apt install docker-compose
git clone https://github.com/TeslaGov/ngx-http-auth-jwt-module
sudo usermod -aG docker ubuntu
# Restart ssh session for applying usermod docker
cd tkcontrol
# Сбилдим сервисы
docker-compose build
# Запустим сервисы и отправим на бэкграунд
docker-compose up -d
# Проверим, что все сервисы запущены (tkcontrol_configure_1 должен быть Exit 2)
docker-compose ps
# Поднимим контейнеры с salt-minion
docker-compose -f docker-compose-clients.yml up -d
# Проверим, что клиенты запустились
docker-compose -f docker-compose-clients.yml ps
Зайдем в веб через браузер http://dev-server. При первом запуске сервиса frontend он может долго собираться.
Frontend имеет горячий перезапуск, поэтому все изменения будут применяться автоматически, но иногда потребуется перезапустить страницу.
При разработке ребилдить контейнеры не надо, все директории пробрасываются внутрь контейнеров.
Если сервис был изменен, его нужно рестартнуть.