48 lines
1.2 KiB
YAML
48 lines
1.2 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 файл. pydantic-settings его найдет и использует.
|
||
- echo 'YANDEX_CLIENT_ID="test_id"' > .env
|
||
- echo 'YANDEX_CLIENT_SECRET="test_secret"' >> .env
|
||
|
||
# 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!" |