From e8096553831d324dd41674668235f28733406be6 Mon Sep 17 00:00:00 2001 From: bip production <119274726+bipproduction@users.noreply.github.com> Date: Fri, 21 Feb 2025 17:56:06 +0800 Subject: [PATCH] Update build.yml --- .github/workflows/build.yml | 51 ++++++++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fb4a7cf6..85ccf96e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,6 +7,9 @@ on: pull_request: branches: - main +env: + APP_NAME: desa-darmasaba + WA_PHONE: 6289697338821 jobs: build: @@ -29,6 +32,11 @@ jobs: --health-retries=5 steps: + # Kirim notifikasi ke API build Start + - name: Notify start build + run: | + curl -X GET "https://wa.wibudev.com/code?text=build-start-desa-darmasaba&nom=${{ env.WA_PHONE }}" + # Checkout kode sumber - name: Checkout code uses: actions/checkout@v3 @@ -65,15 +73,52 @@ jobs: - name: Build project run: bun run build >> build.txt 2>&1 - # Ensure /var/www exists - - name: Ensure /var/www/projects/desa-darmasaba exists + # Generate unique version directory + - name: Generate version directory + id: version + run: echo "VERSION=${{ github.sha }}---v$(date +%Y%m%d%H%M%S)" >> $GITHUB_ENV + + # Ensure project directory exists + - name: Ensure /var/www/projects/${{ env.APP_NAME }} exists uses: appleboy/ssh-action@master with: host: ${{ secrets.VPS_HOST }} username: ${{ secrets.VPS_USERNAME }} key: ${{ secrets.VPS_SSH_KEY }} script: | - mkdir -p /var/www/projects/desa-darmasaba + mkdir -p /var/www/projects/${{ env.APP_NAME }} + + # Deploy to a new version directory + - name: Deploy to VPS (New Version) + uses: appleboy/scp-action@master + with: + host: ${{ secrets.VPS_HOST }} + username: ${{ secrets.VPS_USERNAME }} + key: ${{ secrets.VPS_SSH_KEY }} + source: "." + target: "/var/www/projects/${{ env.APP_NAME }}/releases/${{ env.VERSION }}" + + # Kirim file .env ke server + - name: Upload .env to server + uses: appleboy/scp-action@master + with: + host: ${{ secrets.VPS_HOST }} + username: ${{ secrets.VPS_USERNAME }} + key: ${{ secrets.VPS_SSH_KEY }} + source: ".env" + target: "/var/www/projects/desa-darmasaba/releases/${{ env.VERSION }}/.env" + + # Kirim notifikasi ke API jika build berhasil + - name: Notify build success via API + if: success() + run: | + curl -X GET "https://wa.wibudev.com/code?text=finish-success&nom=6289697338821" + + # Kirim notifikasi ke API jika build gagal + - name: Notify build failed via API + if: failure() + run: | + curl -X GET "https://wa.wibudev.com/code?text=finish-failed&nom=6289697338821" # Send email with GitHub Actions logs - name: Send email with logs