pipline setting
This commit is contained in:
60
.drone.yml
60
.drone.yml
@@ -13,32 +13,23 @@ steps:
|
|||||||
|
|
||||||
# Шаг 2: Обновление и запуск с помощью update.sh
|
# Шаг 2: Обновление и запуск с помощью update.sh
|
||||||
- name: deploy_app
|
- name: deploy_app
|
||||||
image: python:3.12-alpine
|
image: python:3.12
|
||||||
environment:
|
environment:
|
||||||
MYSQL_PASSWORD: touchh
|
MYSQL_PASSWORD: touchh
|
||||||
commands:
|
commands:
|
||||||
- chmod +x ./bin/update
|
- chmod +x ./bin/update
|
||||||
- ./bin/update
|
- ./bin/update
|
||||||
|
|
||||||
# Шаг 3: Установка зависимостей
|
# Шаг 3: Миграция базы данных
|
||||||
- name: install_dependencies
|
|
||||||
image: python:3.12-alpine
|
|
||||||
environment:
|
|
||||||
MYSQL_PASSWORD: touchh
|
|
||||||
commands:
|
|
||||||
- chmod +x ./bin/pip3
|
|
||||||
- ./bin/pip3 install -r requirements.txt
|
|
||||||
|
|
||||||
# Шаг 4: Миграция базы данных
|
|
||||||
- name: run_migrations
|
- name: run_migrations
|
||||||
image: python:3.12-alpine
|
image: python:3.12
|
||||||
environment:
|
environment:
|
||||||
MYSQL_PASSWORD: touchh
|
MYSQL_PASSWORD: touchh
|
||||||
commands:
|
commands:
|
||||||
- chmod +x ./bin/cli
|
- chmod +x ./bin/cli
|
||||||
- ./bin/cli migrate
|
- ./bin/cli migrate
|
||||||
|
|
||||||
# Шаг 5: Тестирование
|
# Шаг 4: Тестирование
|
||||||
- name: run_tests
|
- name: run_tests
|
||||||
image: python:3.12-alpine
|
image: python:3.12-alpine
|
||||||
environment:
|
environment:
|
||||||
@@ -49,16 +40,51 @@ steps:
|
|||||||
- python manage.py test
|
- python manage.py test
|
||||||
|
|
||||||
services:
|
services:
|
||||||
# Внутренний сервис базы данных
|
# Сервис базы данных
|
||||||
- name: database_service
|
- name: db
|
||||||
image: mariadb:11.6
|
image: mariadb:11.6
|
||||||
environment:
|
environment:
|
||||||
MYSQL_RANDOM_ROOT_PASSWORD: 1
|
MYSQL_RANDOM_ROOT_PASSWORD: 1
|
||||||
MYSQL_DATABASE: touchh
|
MYSQL_DATABASE: touchh
|
||||||
MYSQL_USER: touchh
|
MYSQL_USER: touchh
|
||||||
MYSQL_PASSWORD: touchh
|
MYSQL_PASSWORD: touchh
|
||||||
tmpfs:
|
volumes:
|
||||||
- /var/lib/mysql
|
- name: mysql_data
|
||||||
|
path: /var/lib/mysql
|
||||||
|
|
||||||
|
# Сервис Django (Web)
|
||||||
|
- name: web
|
||||||
|
image: touchh-py
|
||||||
|
environment:
|
||||||
|
MYSQL_PASSWORD: touchh
|
||||||
|
command: ['python3', 'manage.py', 'runserver', '0.0.0.0:8000']
|
||||||
|
ports:
|
||||||
|
- "8000:8000"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
|
||||||
|
# Сервис Telegram Bot
|
||||||
|
- name: bot
|
||||||
|
image: touchh-py
|
||||||
|
environment:
|
||||||
|
MYSQL_PASSWORD: touchh
|
||||||
|
command: ['python3', 'manage.py', 'run_bot']
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
|
||||||
|
# Сервис планировщика задач
|
||||||
|
- name: scheduler
|
||||||
|
image: touchh-py
|
||||||
|
environment:
|
||||||
|
MYSQL_PASSWORD: touchh
|
||||||
|
command: ['python3', 'manage.py', 'start_scheduler']
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: mysql_data
|
||||||
|
host:
|
||||||
|
path: ./var/mysql
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
|
|||||||
Reference in New Issue
Block a user