89 lines
1.9 KiB
YAML
89 lines
1.9 KiB
YAML
kind: pipeline
|
|
name: default
|
|
|
|
steps:
|
|
- name: restore-cache
|
|
privileged: true
|
|
image: drillster/drone-volume-cache
|
|
settings:
|
|
restore: true
|
|
mount:
|
|
- ./.bundle
|
|
- ./.yarn-cache
|
|
- ./node_modules
|
|
volumes:
|
|
- name: cache
|
|
path: /cache
|
|
- name: build
|
|
image: starefossen/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
|
|
- bundle install
|
|
- yarn config set cache-folder /cache/.yarn-cache
|
|
- yarn global add gulp-cli
|
|
- yarn install --frozen-lockfile
|
|
- gulp build
|
|
- name: rebuild-cache
|
|
privileged: true
|
|
image: drillster/drone-volume-cache
|
|
settings:
|
|
rebuild: true
|
|
mount:
|
|
- .bundle
|
|
- .yarn-cache
|
|
- ./node_modules
|
|
volumes:
|
|
- name: cache
|
|
path: /cache
|
|
- name: deploy
|
|
image: drillster/drone-rsync
|
|
environment:
|
|
RSYNC_KEY:
|
|
from_secret: rsync_key
|
|
settings:
|
|
hosts: [ "wolf.uberspace.de" ]
|
|
user: martens7
|
|
source: ./_site/.
|
|
target: ~/tmp/build
|
|
recursive: true
|
|
delete: true
|
|
secrets: [ 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: peacock.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
|
|
|
|
|