48 lines
1.3 KiB
YAML
48 lines
1.3 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: Django CI/CD
|
|
|
|
steps:
|
|
# Шаг 1: Установка зависимостей, миграции и тесты
|
|
- name: test
|
|
image: python:3.10
|
|
environment:
|
|
DATABASE_URL: mysql://root@R0sebud:0.0.0.0:3306/w1510415_wp832
|
|
commands:
|
|
- python -m venv .venv
|
|
- source .venv/bin/activate
|
|
- pip install --upgrade pip
|
|
- pip install -r requirements.txt
|
|
- python manage.py migrate
|
|
- flake8 . # Линтер
|
|
- pytest # Запуск тестов
|
|
|
|
# Шаг 2: Запуск и проверка Telegram-бота
|
|
- name: bot-check
|
|
image: python:3.10
|
|
environment:
|
|
DATABASE_URL: mysql://root@R0sebud:0.0.0.0:3306/w1510415_wp832
|
|
commands:
|
|
- python -m venv .venv
|
|
- source .venv/bin/activate
|
|
- pip install --upgrade pip
|
|
- pip install -r requirements.txt
|
|
- python manage.py run_bot & # Запуск бота в фоне
|
|
- sleep 5 # Ждём, чтобы бот запустился
|
|
- python test_bot.py # Проверка работы бота
|
|
|
|
services:
|
|
# Шаг 3: Сервис базы данных MySQL
|
|
- name: mysql
|
|
image: mysql:8
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: R0sebud
|
|
MYSQL_USER: user
|
|
MYSQL_PASSWORD: password
|
|
MYSQL_DATABASE: w1510415_wp832
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- pull_request
|