48 lines
1.1 KiB
YAML
48 lines
1.1 KiB
YAML
kind: pipeline
|
||
type: docker
|
||
name: build-and-deploy-staging
|
||
|
||
trigger:
|
||
branch:
|
||
- staging
|
||
event:
|
||
- push
|
||
|
||
steps:
|
||
# ШАГ 1: ЛОГИНИМСЯ В DOCKER HUB
|
||
- 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
|
||
|
||
# ШАГ 2: ЗАПУСКАЕМ ТЕСТЫ
|
||
- name: testing
|
||
image: python:3.11-slim
|
||
environment:
|
||
YANDEX_CLIENT_ID: "test_id_from_drone"
|
||
YANDEX_CLIENT_SECRET: "test_secret_from_drone"
|
||
commands:
|
||
- pip install poetry
|
||
- poetry install
|
||
- poetry run pytest -v
|
||
|
||
# ШАГ 3: ДЕПЛОИМ
|
||
- 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
|
||
- cat envs/common.env envs/staging.env > .env.staging
|
||
- make staging-up
|
||
- echo "Deployment finished!" |