name: Deploy to Server on: push: branches: - master jobs: deploy: runs-on: docker container: image: alpine:latest steps: - name: Install dependencies run: | apk add --no-cache openssh git bash - name: Setup SSH run: | mkdir -p ~/.ssh echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - chmod 700 ~/.ssh ssh-keyscan "$SSH_HOST" >> ~/.ssh/known_hosts chmod 644 ~/.ssh/known_hosts env: SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} SSH_HOST: ${{ secrets.SSH_HOST }} - name: Deploy via SSH run: | ssh -p "$SSH_PORT" "$SSH_USER@$SSH_HOST" 'cd /home/rogsme/repo && git stash && git pull --force origin master && ./build.sh' env: SSH_USER: ${{ secrets.SSH_USER }} SSH_HOST: ${{ secrets.SSH_HOST }} SSH_PORT: ${{ secrets.SSH_PORT }}