refactor
This commit is contained in:
85
.drone.yml
85
.drone.yml
@@ -1,45 +1,66 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: Django CI/CD
|
||||
|
||||
steps:
|
||||
# Шаг 1: Установка зависимостей, миграции и тесты
|
||||
# Шаг 1: Клонирование репозитория
|
||||
- name: clone
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git clone $DRONE_REPO_URL .
|
||||
- git checkout $DRONE_COMMIT
|
||||
|
||||
# Шаг 2: Обновление и запуск с помощью update.sh
|
||||
- name: deploy
|
||||
image: docker:24
|
||||
environment:
|
||||
MYSQL_PASSWORD: touchh
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
commands:
|
||||
- chmod +x ./bin/update.sh
|
||||
- ./bin/update.sh
|
||||
|
||||
# Шаг 3: Миграция базы данных
|
||||
- name: migrate
|
||||
image: docker:24
|
||||
environment:
|
||||
MYSQL_PASSWORD: touchh
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
commands:
|
||||
- chmod +x ./bin/cli.sh
|
||||
- ./bin/cli migrate
|
||||
|
||||
# Шаг 4: Тестирование
|
||||
- name: test
|
||||
image: python:3.10
|
||||
image: python:3.12-alpine
|
||||
environment:
|
||||
DATABASE_URL: mysql://root@R0sebud:0.0.0.0:3308/w1510415_wp832
|
||||
MYSQL_PASSWORD: touchh
|
||||
commands:
|
||||
- python3 -m venv .venv
|
||||
- . .venv/bin/activate
|
||||
- pip3 install --upgrade pip
|
||||
- pip3 install -r requirements.txt
|
||||
- python3 manage.py migrate
|
||||
- flake8 . # Линтер
|
||||
- pytest # Запуск тестов
|
||||
- apk add --no-cache mariadb-client
|
||||
- pip install -r requirements.txt
|
||||
- python manage.py test
|
||||
|
||||
# Шаг 2: Запуск и проверка Telegram-бота
|
||||
- name: bot-check
|
||||
image: python:3.10
|
||||
services:
|
||||
# Сервис базы данных
|
||||
- name: db
|
||||
image: mariadb:11.6
|
||||
environment:
|
||||
DATABASE_URL: mysql://root@R0sebud:0.0.0.0:3308/w1510415_wp832
|
||||
commands:
|
||||
- python3 -m venv .venv
|
||||
- . .venv/bin/activate
|
||||
- pip3 install --upgrade pip
|
||||
- pip3 install -r requirements.txt
|
||||
- python3 manage.py run_bot & # Запуск бота в фоне
|
||||
- sleep 5 # Ждём, чтобы бот запустился
|
||||
- python3 test_bot.py # Проверка работы бота
|
||||
MYSQL_RANDOM_ROOT_PASSWORD: 1
|
||||
MYSQL_DATABASE: touchh
|
||||
MYSQL_USER: touchh
|
||||
MYSQL_PASSWORD: touchh
|
||||
volumes:
|
||||
- ./var/mysql:/var/lib/mysql
|
||||
|
||||
# services:
|
||||
# # Шаг 3: Сервис базы данных MySQL
|
||||
# - name: mysql
|
||||
# image: mysql:8
|
||||
# environment:
|
||||
# MYSQL_ROOT_PASSWORD: R0sebud
|
||||
# MYSQL_USER: user
|
||||
# MYSQL_PASSWORD: password
|
||||
# MYSQL_DATABASE: w1510415_wp832
|
||||
# Сервис docker-compose
|
||||
- name: docker
|
||||
image: docker:24
|
||||
privileged: true
|
||||
environment:
|
||||
MYSQL_PASSWORD: touchh
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
|
||||
trigger:
|
||||
event:
|
||||
|
||||
Reference in New Issue
Block a user