58 lines
1.4 KiB
YAML
58 lines
1.4 KiB
YAML
kind: pipeline
|
||
name: Touchh Hotel AntiFraud Pipeline
|
||
namespace: touchh
|
||
|
||
steps:
|
||
# Шаг 1: Клонирование репозитория
|
||
- name: clone_repo
|
||
image: alpine/git
|
||
commands:
|
||
- if [ ! -d .git ]; then git clone $DRONE_REPO_URL .; fi
|
||
- git fetch --all
|
||
- git reset --hard $DRONE_COMMIT
|
||
|
||
# Шаг 2: Обновление и запуск с помощью update.sh
|
||
- name: deploy_app
|
||
image: python:3.12-alpine
|
||
environment:
|
||
MYSQL_PASSWORD: touchh
|
||
commands:
|
||
- chmod +x ./bin/update.sh
|
||
- ./bin/update.sh
|
||
|
||
# Шаг 3: Миграция базы данных
|
||
- name: run_migrations
|
||
image: python:3.12-alpine
|
||
environment:
|
||
MYSQL_PASSWORD: touchh
|
||
commands:
|
||
- chmod +x ./bin/cli.sh
|
||
- ./bin/cli migrate
|
||
|
||
# Шаг 4: Тестирование
|
||
- name: run_tests
|
||
image: python:3.12-alpine
|
||
environment:
|
||
MYSQL_PASSWORD: touchh
|
||
commands:
|
||
- apk add --no-cache mariadb-client
|
||
- pip install -r requirements.txt
|
||
- python manage.py test
|
||
|
||
services:
|
||
# Внутренний сервис базы данных
|
||
- name: database_service
|
||
image: mariadb:11.6
|
||
environment:
|
||
MYSQL_RANDOM_ROOT_PASSWORD: 1
|
||
MYSQL_DATABASE: touchh
|
||
MYSQL_USER: touchh
|
||
MYSQL_PASSWORD: touchh
|
||
tmpfs:
|
||
- /var/lib/mysql
|
||
|
||
trigger:
|
||
event:
|
||
- push
|
||
- pull_request
|