cv/.drone.yml
2024-10-21 11:19:42 +02:00

93 lines
1.9 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} .#image
- 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 --password-stdin dr.cechis.cz
- 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: df9a2fb07428f545bc41b36d4c8b53e0e7223333f614e2d5d890a1adbd7f324b
...