Развертывание 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 имеет горячий перезапуск, поэтому все изменения будут применяться автоматически, но иногда потребуется перезапустить страницу.

При разработке ребилдить контейнеры не надо, все директории пробрасываются внутрь контейнеров.

Если сервис был изменен, его нужно рестартнуть.