pipline setting

This commit is contained in:
2024-12-28 11:59:51 +09:00
parent 07097bf2f9
commit f3d9daabab

View File

@@ -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: