later42/.drone.yml

125 lines
2.5 KiB
YAML

---
kind: pipeline
type: docker
name: Tests
services:
- name: redis
image: redis
steps:
- name: test
image: python:3.11
environment:
REDIS_URL: redis://redis:6379/0
commands:
- pip install -r requirements.txt --cache-dir=/root/.cache/pip
- pip install coverage coveralls
- python manage.py collectstatic --noinput
- python manage.py migrate --noinput
- ./manage.py test
volumes:
- name: cache
path: /root/.cache/pip
trigger:
branch:
- master
volumes:
- name: cache
host:
path: /opt/docker/drone/cache
---
kind: pipeline
type: docker
name: Build
steps:
- name: build
image: docker
commands:
- docker build -t dntskdev/later42:${DRONE_BRANCH} .
- docker tag dntskdev/later42:${DRONE_BRANCH} dntskdev/later42:latest
- docker push dntskdev/later42:${DRONE_BRANCH}
volumes:
- name: cache
path: /root/.cache/pip
- name: docker_sock
path: /var/run/docker.sock
- name: docker_config
path: /root/.docker
volumes:
- name: cache
host:
path: /opt/docker/drone/cache
- name: docker_sock
host:
path: /var/run/docker.sock
- name: docker_config
host:
path: /root/.docker
trigger:
branch:
- master
depends_on:
- Tests
---
kind: pipeline
type: docker
name: Deploy
steps:
- name: deploy
image: appleboy/drone-ssh
settings:
host:
from_secret: ssh_host
username:
from_secret: ssh_username
key:
from_secret: ssh_key
port: 22
script:
- cd /opt
- docker-compose pull later42
- docker-compose up -d later42 later42_tasks
trigger:
branch:
- master
event:
include:
- push
depends_on:
- Build
# ---
# kind: pipeline
# type: docker
# name: notifications
# steps:
# - name: telegram
# pull: always
# image: appleboy/drone-telegram
# settings:
# message: "{{#success build.status}} ✅ Build #{{build.number}} of `{{repo.name}}` succeeded.\n\n📝 Commit by {{commit.author}} on `{{commit.branch}}`:\n``` {{commit.message}} ```\n\n🌐 {{ build.link }} {{else}} ❌ Build #{{build.number}} of `{{repo.name}}` failed.\n\n📝 Commit by {{commit.author}} on `{{commit.branch}}`:\n``` {{commit.message}} ```\n\n🌐 {{ build.link }} {{/success}}\n"
# to:
# from_secret: telegram_to
# token:
# from_secret: telegram_token
# trigger:
# status:
# - success
# - failure
# depends_on:
# - deploy