cv/.drone.yml
2023-06-01 21:27:27 +02:00

93 lines
2.0 KiB
YAML

---
kind: pipeline
name: CI/CD
trigger:
ref:
- refs/tags/*
volumes:
- name: deps
temp: {}
- name: dockersock
temp: {}
steps:
- name: notify-start
image: appleboy/drone-discord
settings:
webhook_id:
from_secret: DISCORD_WEBHOOK_ID
webhook_token:
from_secret: DISCORD_WEBHOOK_TOKEN
message: "Started build: https://drone.cechis.cz/c3c/cv/{{ build.number }}"
- name: build
image: nixos/nix
volumes:
- name: deps
path: /nix/store
commands:
- nix-build --argstr version ${DRONE_TAG} --argstr rev ${DRONE_COMMIT} --argstr repoUrl ${DRONE_REPO_LINK}
- name: publish
image: docker:dind
environment:
REGISTRY_PASSWORD:
from_secret: REGISTRY_PASSWORD
REGISTRY_USER:
from_secret: REGISTRY_USER
volumes:
- name: deps
path: /nix/store
- name: dockersock
path: /var/run
commands:
- sleep 5
- ./result | docker load
- echo ${REGISTRY_PASSWORD} | docker login -u ${REGISTRY_USER} dr.cechis.cz --password-stdin
- docker tag cv:${DRONE_TAG} dr.cechis.cz/c3c/cv:${DRONE_TAG}
- docker push dr.cechis.cz/c3c/cv:${DRONE_TAG}
depends_on:
- build
- name: deploy
image: appleboy/drone-ssh
settings:
host: vps-1.cechis.cz
command_timeout: 20m
username: drone
key:
from_secret: SSH_DRONE
script:
- docker service update --quiet --with-registry-auth --detach=false --image dr.cechis.cz/c3c/cv:${DRONE_TAG} c3c-cv
depends_on:
- publish
- name: notify-end
image: appleboy/drone-discord
settings:
webhook_id:
from_secret: DISCORD_WEBHOOK_ID
webhook_token:
from_secret: DISCORD_WEBHOOK_TOKEN
message: "C3C CV build: {{ build.number }} - {{ build.status }}"
when:
status: [ success, failure ]
depends_on:
- deploy
services:
- name: docker
image: docker:dind
privileged: true
volumes:
- name: dockersock
path: /var/run
---
kind: signature
hmac: 8ba8da8689b06417930ab1114f8e3547f983005d8e26622bc2244a26c3c2a52d
...