wahlrecht-frontend/.drone.yml

87 lines
1.7 KiB
YAML

kind: pipeline
name: default
type: docker
platform:
os: linux
arch: arm64
clone:
skip_verify: true
steps:
- name: restore-cache
privileged: true
pull: always
image: 2martens/drone-volume-cache
settings:
restore: true
mount:
- ./node_modules
volumes:
- name: cache
path: /cache
- name: build
pull: always
image: node:18-alpine
commands:
- npm install
- npm run build:production
- cp /drone/src/.htaccess /drone/src/dist/wahlrecht-frontend/
- name: rebuild-cache
privileged: true
image: 2martens/drone-volume-cache
settings:
rebuild: true
mount:
- ./node_modules
volumes:
- name: cache
path: /cache
- name: deploy
pull: always
image: 2martens/drone-rsync
settings:
hosts: [ "gienah.uberspace.de" ]
user: wahlfron
source: /drone/src/dist/wahlrecht-frontend/.
target: ~/tmp/build
recursive: true
delete: true
port: 22
key:
from_secret: rsync_key
script:
- shopt -s dotglob
- rm -rf tmp/old.build
- mkdir tmp/old.build
- cp -r html/* tmp/old.build/
- rm -rf html/*
- cp -r tmp/build/* html/
- rm -rf tmp/build
- name: notify
pull: always
image: 2martens/drone-email
environment:
EMAIL_USERNAME:
from_secret: email_username
EMAIL_PASSWORD:
from_secret: email_password
settings:
host: howell.uberspace.de
port: 587
from: Drone <drone@2martens.de>
secrets: [email_username, email_password]
when:
status: [ failure ]
volumes:
- name: cache
host:
path: /var/lib/drone/cache
trigger:
branch:
- main