63 lines
1.4 KiB
YAML
63 lines
1.4 KiB
YAML
kind: pipeline
|
||
name: Touchh Hotel AntiFraud Pipeline
|
||
namespace: touchh
|
||
|
||
steps:
|
||
# Шаг 1: Клонирование репозитория
|
||
- name: clone_repo
|
||
image: alpine/git
|
||
commands:
|
||
- git clone $DRONE_REPO_URL .
|
||
- git checkout $DRONE_COMMIT
|
||
|
||
# Шаг 2: Обновление и запуск с помощью update.sh
|
||
- name: deploy_app
|
||
image: docker:24
|
||
environment:
|
||
MYSQL_PASSWORD: touchh
|
||
commands:
|
||
- chmod +x ./bin/update.sh
|
||
- ./bin/update.sh
|
||
|
||
# Шаг 3: Миграция базы данных
|
||
- name: run_migrations
|
||
image: docker:24
|
||
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
|
||
volumes:
|
||
- name: db_data
|
||
path: /var/lib/mysql
|
||
|
||
volumes:
|
||
- name: db_data
|
||
host:
|
||
path: ./var/mysql
|
||
|
||
trigger:
|
||
event:
|
||
- push
|
||
- pull_request
|