name: Deploy run-name: Deploying to production on: [push] jobs: deploy: runs-on: ubuntu-latest container: image: alpine steps: - name: Install git and openssh run: | apk add --no-cache git openssh-client - name: Setup SSH env: SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} HOST1: ${{ secrets.HOST1 }} USER: ${{ secrets.USER }} run: | mkdir -p ~/.ssh echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -H $HOST1 >> ~/.ssh/known_hosts - name: Deploy to first host env: HOST1: ${{ secrets.HOST1 }} USER: ${{ secrets.USER }} run: | ssh $USER@$HOST1 'rm -rf /var/www/elia.network/html/*' chmod -R 777 . scp -r . $USER@$HOST1:/var/www/elia.network/html/ ssh $USER@$HOST1 'rm -r /var/www/elia.network/html/.git*' - name: Reload Nginx env: HOST1: ${{ secrets.HOST1 }} USER: ${{ secrets.USER }} run: | ssh $USER@$HOST1 'sudo systemctl reload nginx'