From 8584bbd0732d3195505870fae17b7681cdf7ef35 Mon Sep 17 00:00:00 2001 From: Anbraten Date: Thu, 23 Sep 2021 17:54:19 +0200 Subject: [PATCH] Improve docs deployment (#333) Co-authored-by: 6543 <6543@obermui.de> --- .woodpecker/docs.yml | 57 ++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/.woodpecker/docs.yml b/.woodpecker/docs.yml index 469a4b5af..6e3555108 100644 --- a/.woodpecker/docs.yml +++ b/.woodpecker/docs.yml @@ -2,39 +2,40 @@ clone: git: image: plugins/git:next -branches: master - pipeline: - deploy-docs: - image: node:14-alpine - secrets: - - BOT_PRIVATE_KEY - environment: - - USE_SSH=true - - GIT_USER=woodpecker-bot - - DEPLOYMENT_BRANCH=master - commands: - - apk add openssh-client git - - mkdir -p $HOME/.ssh - - ssh-keyscan -t rsa github.com >> $HOME/.ssh/known_hosts - - echo "$BOT_PRIVATE_KEY" > $HOME/.ssh/id_rsa - - chmod 0600 $HOME/.ssh/id_rsa - - git config --global user.email "woodpecker-bot@obermui.de" - - git config --global user.name "woodpecker-bot" - - cd docs/ - - yarn install --frozen-lockfile - - yarn deploy - when: - event: push - branch: master - path: "docs/**" - - build-docs-pr: + build: image: node:14-alpine commands: - cd docs/ - yarn install --frozen-lockfile - yarn build when: - event: [pull_request] + event: [push, pull_request] path: "docs/**" + + deploy: + image: alpine:3.14.2 + secrets: + - BOT_PRIVATE_KEY + commands: + - apk add openssh-client git rsync + - mkdir -p $HOME/.ssh + - ssh-keyscan -t rsa github.com >> $HOME/.ssh/known_hosts + - echo "$BOT_PRIVATE_KEY" > $HOME/.ssh/id_rsa + - chmod 0600 $HOME/.ssh/id_rsa + - git config --global user.email "woodpecker-bot@obermui.de" + - git config --global user.name "woodpecker-bot" + - git clone -b master --single-branch git@github.com:woodpecker-ci/woodpecker-ci.github.io.git /repo + # copy all docs files and delete all old ones, but leave CNAME and index.yaml untouched + - rsync -r --exclude .git --exclude CNAME --exclude index.yaml --exclude README.md --delete docs/build/ /repo + - cd /repo + - git add . + # exit successfully if nothing changed + - test -n "$(git status --porcelain)" || exit 0 + - git commit -m "Deploy website - based on ${DRONE_COMMIT_SHA}" + - git push + when: + event: push + branch: master + path: "docs/**" +