Парсер таблиц Excel с сайта РЦОИ города Москвы со списками сотрудников пунктов проведения экзаменов (ППЭ).
Разработка нового функционала ведётся в ветках, по готовности делается PR в main
.
Минимальные изменения и багфиксы сразу вносятся в main
.
В пайплайне определены этапы Build
, Build and push
, Test
, Deploy
, которые запускаются в соответствии с условиями в блоках when
.
- PR или коммит в любую ветку, кроме
main
, запускаетBuild
иTest
. - Коммит в
main
запускаетBuild and push
иTest
. Deploy
запускается вручную в разделеBuild with Parameters
, при этом можно принудительно выполнитьBuild and push
, аTest
будет пропущен.- Автоматический деплой на тестовое или стейджинг окружение не предусмотрен.
-
Переименовать файл
env.local-example
в.env.local
-
Настроить переменные в файле
.env.local
-
Последовательно выполнить команды
docker-compose -f docker-compose.local.yml up -d --build docker exec gia-api_django-local_1 python /app/gia-api/manage.py migrate docker exec gia-api_django-local_1 python /app/gia-api/manage.py loaddata datasource docker exec -it gia-api_django-local_1 python /app/gia-api/manage.py createsuperuser docker exec gia-api_django-local_1 python /app/gia-api/manage.py runjobs hourly
-
Переименовать файл
env.staging-example
в.env.staging
-
Настроить переменные в файле
.env.staging
-
Последовательно выполнить команды
docker-compose -f docker-compose.staging.yml up -d --build docker exec gia-api_django-staging_1 python /app/gia-api/manage.py migrate docker exec gia-api_django-staging_1 python /app/gia-api/manage.py loaddata datasource docker exec gia-api_django-staging_1 python /app/gia-api/manage.py invalidate all docker exec -it gia-api_django-staging_1 python /app/gia-api/manage.py createsuperuser docker exec gia-api_django-staging_1 python /app/gia-api/manage.py runjobs hourly
-
Переименовать файл
env.example
в.env
-
Настроить переменные в файле
.env
-
Последовательно выполнить команды
docker-compose up -d --build docker exec gia-api_django_1 python /app/manage.py migrate docker exec gia-api_django_1 python /app/manage.py loaddata datasource docker exec -it gia-api_django_1 python /app/manage.py createsuperuser docker exec gia-api_django_1 python /app/manage.py runjobs hourly
docker exec -it gia-api_django_1 python /app/manage.py shell_plus
from apps.rcoi.models import RcoiUpdater
RcoiUpdater().run()
exit()
docker-compose restart
-
Очистить таблицы и начать автоинкремент id с начала
docker exec -it gia-db psql -U gia TRUNCATE rcoi_datafile, rcoi_date, rcoi_employee, rcoi_exam, rcoi_level, rcoi_organisation, rcoi_place, rcoi_position, rcoi_subscription RESTART IDENTITY; exit;
-
Вручную отправить письмо подписчикам, чтобы подписались заново
-
Обновить версию в Dockerfile
-
Сделать снапшот ВМ
-
Подключиться к ВМ и выполнить
docker exec gia-db backup docker stop gia-db docker run --rm -v /docker/gia-api/db/data:/var/lib/postgresql/12/data -v /docker/gia-api/db/14/data:/var/lib/postgresql/14/data tianon/postgres-upgrade:12-to-14 docker rmi tianon/postgres-upgrade:12-to-14 mv /docker/gia-api/db/data /docker/gia-api/db/data_12 mv /docker/gia-api/db/14/data /docker/gia-api/db/data rm -rf /docker/gia-api/db/14 echo "host all all 0.0.0.0/0 trust" >> /docker/gia-api/db/data/pg_hba.conf
-
Запустить новый контейнер БД