modified yaml deploy script #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy to VPS | |
| on: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Deploy via SSH | |
| uses: appleboy/ssh-action@master | |
| with: | |
| host: ${{ secrets.VPS_IP }} | |
| username: ${{ secrets.VPS_USERNAME }} | |
| key: ${{ secrets.SSH_PRIVATE_KEY }} | |
| script: | | |
| echo "[INFO] Stopping and removing running container (if exists)..." | |
| docker rm -f codeboxes-server || true | |
| echo "[INFO] Pruning unused Docker networks..." | |
| docker network prune -f | |
| echo "[INFO] Waiting for port 8080 to be released..." | |
| while lsof -i :8080 >/dev/null 2>&1; do | |
| echo "[INFO] Port 8080 still in use. Waiting..." | |
| sleep 2 | |
| done | |
| echo "[INFO] Cloning latest code..." | |
| rm -rf codeboxes-server | |
| git clone https://github.com/harshpx/codeboxes-server.git | |
| cd codeboxes-server | |
| echo "[INFO] Building codeboxes-server..." | |
| cd server | |
| docker build -t codeboxes-server . | |
| echo "[INFO] Building code-runner..." | |
| cd ../code-runner | |
| docker build -t code-runner . | |
| echo "[INFO] Starting updated codeboxes-server container..." | |
| docker run -d --name codeboxes-server \ | |
| -v /var/run/docker.sock:/var/run/docker.sock \ | |
| -p 8080:8080 codeboxes-server |