name: Deploy Netrunner App on: push: branches: [main] jobs: build-and-push: runs-on: ubuntu-latest permissions: contents: read packages: write steps: - name: Checkout Code uses: actions/checkout@v4 with: lfs: true - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to GHCR uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and Push Landing uses: docker/build-push-action@v5 with: context: . file: ./Dockerfile push: true # πŸ”₯ Π’ΠΠ–ΠΠž: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ lowercase для Π½ΠΈΠΊΠ° ΠΈ Π½ΠΎΠ²ΠΎΠ΅ имя ΠΎΠ±Ρ€Π°Π·Π° tags: ghcr.io/nineap/netrunner-landing:latest cache-from: type=gha cache-to: type=gha,mode=max deploy: needs: build-and-push runs-on: ubuntu-latest steps: - name: Deploy to VPS via SSH uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.VPS_IP }} username: root key: ${{ secrets.SSH_PRIVATE_KEY }} script: | # ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° cd /root/netrunner-frontend || mkdir -p /root/netrunner-frontend && cd /root/netrunner-frontend # Авторизация (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ свой Ρ‚ΠΎΠΊΠ΅Π½ ΠΈΠ»ΠΈ создай Personal Access Token) echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin # ВянСм ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· docker pull ghcr.io/nineap/netrunner-landing:latest # ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊ (compose ΠΏΠΎΠ΄Ρ…Π²Π°Ρ‚ΠΈΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ) docker compose up -d # Чистка старых слоСв docker image prune -f