name: Deploy WeReadBoard on: push: branches: - master workflow_dispatch: jobs: deploy: runs-on: ubuntu-latest concurrency: group: deploy-master cancel-in-progress: true steps: - name: Prepare SSH run: | mkdir -p ~/.ssh printf '%s\n' "${{ secrets.SERVER_SSH_KEY }}" > ~/.ssh/deploy_key chmod 600 ~/.ssh/deploy_key - name: Deploy env: SERVER_HOST: ${{ secrets.SERVER_HOST }} SERVER_PORT: ${{ secrets.SERVER_PORT }} SERVER_USER: ${{ secrets.SERVER_USER }} DEPLOY_PATH: ${{ vars.DEPLOY_PATH }} SERVICE_NAME: ${{ vars.SERVICE_NAME }} DEPLOY_BRANCH: master run: | if [ -z "$SERVER_PORT" ]; then SERVER_PORT="22" fi if [ -z "$DEPLOY_PATH" ]; then DEPLOY_PATH="/opt/weread-board/WeReadBoard" fi if [ -z "$SERVICE_NAME" ]; then SERVICE_NAME="weread.service" fi ssh -i ~/.ssh/deploy_key -o IdentitiesOnly=yes -o StrictHostKeyChecking=accept-new -p "$SERVER_PORT" "$SERVER_USER@$SERVER_HOST" \ "cd '$DEPLOY_PATH' && git fetch origin && git checkout '$DEPLOY_BRANCH' && git pull --ff-only origin '$DEPLOY_BRANCH' && chmod +x ./deploy.sh && SKIP_GIT_PULL=1 DEPLOY_BRANCH='$DEPLOY_BRANCH' SERVICE_NAME='$SERVICE_NAME' ./deploy.sh"