name: Deploy on: push: branches: - main jobs: deploy: runs-on: aliyun steps: - name: Checkout uses: actions/checkout@v4 - name: Build Docker Image run: | docker build \ --cache-from illustrated-algorithm:latest \ -t illustrated-algorithm:latest \ . - name: Deploy Container run: | docker stop illustrated-algorithm 2>/dev/null || true docker rm illustrated-algorithm 2>/dev/null || true docker run -d \ --name illustrated-algorithm \ --restart unless-stopped \ -p 10000:80 \ illustrated-algorithm:latest - name: Cleanup Dangling Images run: docker image prune -f