2martens.de/.drone.yml

92 lines
2.0 KiB
YAML

kind: pipeline
name: default
type: docker
clone:
skip_verify: true
steps:
- name: restore-cache
privileged: true
image: 2martens/drone-volume-cache
settings:
restore: true
mount:
- ./.bundle
- ./.yarn-cache
- ./node_modules
volumes:
- name: cache
path: /cache
- name: build
image: 2martens/ruby-node
environment:
BUNDLE_PATH: .bundle
commands:
- export LANG="C.UTF-8"
- export LC_ALL="C.UTF-8"
- ruby -e 'puts STDIN.external_encoding' # figure out the encoding used
- gem install bundler
- bundle update --bundler
- bundle install
- yarn config set cache-folder .yarn-cache
- yarn global add gulp-cli
- yarn install --frozen-lockfile
- gulp build
- name: rebuild-cache
privileged: true
image: 2martens/drone-volume-cache
settings:
rebuild: true
mount:
- .bundle
- .yarn-cache
- ./node_modules
volumes:
- name: cache
path: /cache
- name: deploy
image: drillster/drone-rsync
settings:
hosts: [ "wolf.uberspace.de" ]
user: martens7
source: /drone/src/_site/.
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
image: drillster/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:
- master