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