49 lines
1.3 KiB
YAML
49 lines
1.3 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: build-and-deploy-staging
|
|
|
|
trigger:
|
|
branch:
|
|
- staging
|
|
event:
|
|
- push
|
|
|
|
steps:
|
|
- name: docker-login
|
|
image: docker:latest
|
|
environment:
|
|
DOCKER_USERNAME:
|
|
from_secret: DOCKER_USERNAME
|
|
DOCKER_PASSWORD:
|
|
from_secret: DOCKER_PASSWORD
|
|
commands:
|
|
- echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin
|
|
|
|
# --- ИЗМЕНЕНИЕ ЗДЕСЬ ---
|
|
- name: testing
|
|
image: python:3.11-slim
|
|
commands:
|
|
# 1. Создаем .env.test файл для pytest ПЕРЕД установкой зависимостей
|
|
- echo 'YANDEX_CLIENT_ID="test_id"' > .env.test
|
|
- echo 'YANDEX_CLIENT_SECRET="test_secret"' >> .env.test
|
|
|
|
# 2. Устанавливаем зависимости
|
|
- pip install poetry
|
|
- poetry install
|
|
|
|
# 3. Запускаем тесты
|
|
- poetry run pytest -v
|
|
|
|
- name: deploy
|
|
image: appleboy/drone-ssh
|
|
settings:
|
|
host: 45.86.181.80
|
|
port: 2223
|
|
username: orlov
|
|
key:
|
|
from_secret: DEPLOY_STAG_SSH_KEY
|
|
script:
|
|
- cd /home/orlov/apps/marquiz-metrics-staging
|
|
- git pull origin staging
|
|
- docker compose up -d --build
|
|
- echo "Deployment finished successfully!" |