--- 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 HUGO_PASSWD: from_secret: hugo_passwd 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 -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