homepage/.drone.yml
surtur 0c013a5843
Some checks failed
continuous-integration/drone/push Build is failing
.drone.yml - use sshpass for deploys [WIP]
2020-03-10 02:34:42 +01:00

156 lines
4.0 KiB
YAML

---
kind: pipeline
type: docker
name: test-build
steps:
- name: hugo-extended
pull: always
image: immawanderer/archlinux-hugo:latest
commands:
- git submodule init
- git submodule update
- hugo version
- hugo --gc=true --minify
---
kind: pipeline
type: docker
name: deploy
steps:
- name: rsync-deploy
pull: if-not-exists
image: immawanderer/archlinux-hugo:latest
environment:
HUGO_KEY:
from_secret: hugo_key
HUGO_USER:
from_secret: hugo_user
HUGO_HOST:
from_secret: hugo_host
HUGO_DIR:
from_secret: hugo_dir
commands:
- pacman -Sy --needed --noconfirm sshpass
- git submodule init
- git submodule update
- rm -rfv ./public
- hugo --gc=true --minify
- echo $HUGO_KEY > ./hugo_deploy
- chmod -v 600 ./hugo_deploy
- rsync -av -e "sshpass -p $HUGO_PASSWD ssh -vv -i ./hugo_deploy -o KexAlgorithms=curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256 -o PreferredAuthentications=publickey -o PubkeyAuthentication=yes -o PasswordAuthentication=no -c aes256-ctr,aes256-cbc -o StrictHostKeyChecking=no" --delete public/ $HUGO_USER@$HUGO_HOST:$HUGO_DIR
- shred -zuv -n 7 ./hugo_deploy
when:
status:
- success
depends_on:
- test-build
---
kind: pipeline
name: notifications
platform:
os: linux
arch: amd64
clone:
disable: true
trigger:
branch:
- master
- "dev*"
- "release/*"
event:
- push
- tag
status:
- success
- failure
depends_on:
- test-build
steps:
- name: discord
pull: always
image: appleboy/drone-discord:1.2.4
settings:
message: "{{#success build.status}} ✅ Build #{{build.number}} of `{{repo.name}}` succeeded.\n\ncommit `${DRONE_COMMIT_SHA:0:7}` by {{commit.author}} on `{{commit.branch}}`:\n``` {{commit.message}} ```\n\n{{ build.link }}\n\n {{else}} ❌ Build #{{build.number}} of `{{repo.name}}` failed.\n\ncommit `${DRONE_COMMIT_SHA:0:7}` by {{commit.author}} on `{{commit.branch}}`:\n``` {{commit.message}} ```\n\n{{ build.link }}\n\n {{/success}}\n"
webhook_id:
from_secret: discord_webhook_id
webhook_token:
from_secret: discord_webhook_token
---
kind: pipeline
name: notifications-cronbuild
platform:
os: linux
arch: amd64
clone:
disable: true
trigger:
event:
- cron
cron:
- hourly
- hourly-build
status:
- success
- failure
depends_on:
- test-build
steps:
- name: discord
pull: always
image: appleboy/drone-discord:1.2.4
settings:
message: "{{#success build.status}} ✅ Build #{{build.number}} of `{{repo.name}}` succeeded.\n\ncommit `${DRONE_COMMIT_SHA:0:7}` by {{commit.author}} on `{{commit.branch}}`:\n``` {{commit.message}} ```\n\n{{ build.link }}\n\n {{else}} ❌ Build #{{build.number}} of `{{repo.name}}` failed.\n\ncommit `${DRONE_COMMIT_SHA:0:7}` by {{commit.author}} on `{{commit.branch}}`:\n``` {{commit.message}} ```\n\n{{ build.link }}\n\n {{/success}}\n"
webhook_id:
from_secret: discord_webhook_hourly_id
webhook_token:
from_secret: discord_webhook_hourly_token
---
kind: pipeline
name: notifications-deploy
platform:
os: linux
arch: amd64
clone:
disable: true
trigger:
status:
- success
- failure
depends_on:
- deploy
steps:
- name: discord
pull: always
image: appleboy/drone-discord:1.2.4
settings:
message: "{{#success build.status}} ✅ Build #{{build.number}} of `{{repo.name}}` has been successfully deployed.\n\ncommit `${DRONE_COMMIT_SHA:0:7}` by {{commit.author}} on `{{commit.branch}}`:\n``` {{commit.message}} ```\n\n{{ build.link }}\n {{else}} ❌ Build #{{build.number}} of `{{repo.name}}` failed to deploy.\n\ncommit `${DRONE_COMMIT_SHA:0:7}` by {{commit.author}} on `{{commit.branch}}`:\n``` {{commit.message}} ```\n{{ build.link }}\n {{/success}}\n\n"
webhook_id:
from_secret: discord_webhook_id
webhook_token:
from_secret: discord_webhook_token