From b3ca5f45d1c4b1086b331c6fa9d48788b3f7ab5b Mon Sep 17 00:00:00 2001 From: Ujang Sopiyan Date: Fri, 8 Aug 2025 17:42:14 +0700 Subject: [PATCH 1/6] feat: [deploy dev] --- .github/workflows/deploy_dev.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/deploy_dev.yml diff --git a/.github/workflows/deploy_dev.yml b/.github/workflows/deploy_dev.yml new file mode 100644 index 00000000..837d4b33 --- /dev/null +++ b/.github/workflows/deploy_dev.yml @@ -0,0 +1,26 @@ +name: Deploy OpenKab Dev with Ansible + +on: + pull_request: + branches: + - rilis-dev + +jobs: + deploy: + name: Deploy OpenKab Dev to Production Server + runs-on: ubuntu-latest + + steps: + - name: Checkout Ansible Code + uses: actions/checkout@v3 + + - name: Deploy via SSH using appleboy/ssh-action + uses: appleboy/ssh-action@v1.0.0 + with: + host: ${{ secrets.CICD_SERVER_IP }} + username: ${{ secrets.CICD_SERVER_USER }} + key: ${{ secrets.CICD_SERVER_PRIVATE_KEY }} + port: ${{ secrets.CICD_SERVER_PORT }} + script: | + cd ${{ secrets.CICD_SERVER_PATH }} + ansible-playbook -i inventories/production/inventory.yml playbooks/deploy-openkab-dev.yml From 12abe4202820eea4396ef9c2cb8439fefbca8e48 Mon Sep 17 00:00:00 2001 From: Ujang Sopiyan Date: Fri, 8 Aug 2025 17:44:43 +0700 Subject: [PATCH 2/6] fix: [deploy dev] ubah ke event push rilis-dev --- .github/workflows/deploy_dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy_dev.yml b/.github/workflows/deploy_dev.yml index 837d4b33..4cc89d85 100644 --- a/.github/workflows/deploy_dev.yml +++ b/.github/workflows/deploy_dev.yml @@ -1,7 +1,7 @@ name: Deploy OpenKab Dev with Ansible on: - pull_request: + push: branches: - rilis-dev From 548e0e4123fbfe38c87f7ed6c6e5fb2a2f5fd525 Mon Sep 17 00:00:00 2001 From: Ujang Sopiyan Date: Fri, 8 Aug 2025 17:46:41 +0700 Subject: [PATCH 3/6] add: [deploy rilis] --- .github/workflows/deploy_rilis.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/deploy_rilis.yml diff --git a/.github/workflows/deploy_rilis.yml b/.github/workflows/deploy_rilis.yml new file mode 100644 index 00000000..69afe83d --- /dev/null +++ b/.github/workflows/deploy_rilis.yml @@ -0,0 +1,26 @@ +name: Deploy OpenKab Rilis with Ansible + +on: + pull_request: + branches: + - rilis-dev + +jobs: + deploy: + name: Deploy OpenKab Rilis to Production Server + runs-on: ubuntu-latest + + steps: + - name: Checkout Ansible Code + uses: actions/checkout@v3 + + - name: Deploy via SSH using appleboy/ssh-action + uses: appleboy/ssh-action@v1.0.0 + with: + host: ${{ secrets.CICD_SERVER_IP }} + username: ${{ secrets.CICD_SERVER_USER }} + key: ${{ secrets.CICD_SERVER_PRIVATE_KEY }} + port: ${{ secrets.CICD_SERVER_PORT }} + script: | + cd ${{ secrets.CICD_SERVER_PATH }} + ansible-playbook -i inventories/production/inventory.yml playbooks/deploy-openkab-rilis.yml From eae2835c960d73006c850929e9e95603abba2831 Mon Sep 17 00:00:00 2001 From: Ujang Sopiyan Date: Fri, 8 Aug 2025 17:48:35 +0700 Subject: [PATCH 4/6] fix: [deploy rilis] ubah ke event publish rilis --- .github/workflows/deploy_rilis.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy_rilis.yml b/.github/workflows/deploy_rilis.yml index 69afe83d..d2563328 100644 --- a/.github/workflows/deploy_rilis.yml +++ b/.github/workflows/deploy_rilis.yml @@ -1,9 +1,8 @@ name: Deploy OpenKab Rilis with Ansible on: - pull_request: - branches: - - rilis-dev + release: + types: [published] jobs: deploy: From 534f7f28a7158c238a57fa3388ae3e23c9b28dd9 Mon Sep 17 00:00:00 2001 From: Ujang Sopiyan Date: Mon, 11 Aug 2025 11:52:46 +0700 Subject: [PATCH 5/6] fix: [deploy dev dan deploy rilis] - Memperbaiki urutan task ansible di deploy-dev - Menambahkan var release_tag di deploy rilis - Menghapus task git fetch/reset yang duplikat --- .github/workflows/deploy_dev.yml | 19 ++++++++++++++----- .github/workflows/deploy_rilis.yml | 16 +++++++++++++--- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/.github/workflows/deploy_dev.yml b/.github/workflows/deploy_dev.yml index 4cc89d85..150899a8 100644 --- a/.github/workflows/deploy_dev.yml +++ b/.github/workflows/deploy_dev.yml @@ -1,26 +1,35 @@ name: Deploy OpenKab Dev with Ansible on: - push: - branches: - - rilis-dev + pull_request: + branches: [rilis-dev] + types: [closed] + +permissions: + contents: read + +concurrency: + group: deploy-openkab-dev + cancel-in-progress: true jobs: deploy: + if: github.event.pull_request.merged == true name: Deploy OpenKab Dev to Production Server runs-on: ubuntu-latest steps: - name: Checkout Ansible Code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Deploy via SSH using appleboy/ssh-action - uses: appleboy/ssh-action@v1.0.0 + uses: appleboy/ssh-action@v1.2.0 with: host: ${{ secrets.CICD_SERVER_IP }} username: ${{ secrets.CICD_SERVER_USER }} key: ${{ secrets.CICD_SERVER_PRIVATE_KEY }} port: ${{ secrets.CICD_SERVER_PORT }} script: | + set -euo pipefail cd ${{ secrets.CICD_SERVER_PATH }} ansible-playbook -i inventories/production/inventory.yml playbooks/deploy-openkab-dev.yml diff --git a/.github/workflows/deploy_rilis.yml b/.github/workflows/deploy_rilis.yml index d2563328..31089fa3 100644 --- a/.github/workflows/deploy_rilis.yml +++ b/.github/workflows/deploy_rilis.yml @@ -4,22 +4,32 @@ on: release: types: [published] +permissions: + contents: read + +concurrency: + group: deploy-openkab-rilis + cancel-in-progress: true + jobs: deploy: + # rilis dari branch 'master' & bukan prerelease + if: github.event.release.target_commitish == 'master' && github.event.release.prerelease == false name: Deploy OpenKab Rilis to Production Server runs-on: ubuntu-latest steps: - name: Checkout Ansible Code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Deploy via SSH using appleboy/ssh-action - uses: appleboy/ssh-action@v1.0.0 + uses: appleboy/ssh-action@v1.2.0 with: host: ${{ secrets.CICD_SERVER_IP }} username: ${{ secrets.CICD_SERVER_USER }} key: ${{ secrets.CICD_SERVER_PRIVATE_KEY }} port: ${{ secrets.CICD_SERVER_PORT }} script: | + set -euo pipefail cd ${{ secrets.CICD_SERVER_PATH }} - ansible-playbook -i inventories/production/inventory.yml playbooks/deploy-openkab-rilis.yml + ansible-playbook -i inventories/production/inventory.yml playbooks/deploy-openkab-rilis.yml --extra-vars "release_tag=${{ github.event.release.tag_name }} From 4edaa2700169255d69883eb874f7e8752dd48eac Mon Sep 17 00:00:00 2001 From: Afila Date: Tue, 19 Aug 2025 17:20:51 +0700 Subject: [PATCH 6/6] hapus action lama --- .github/workflows/deploy_prod.yml | 35 ---------------------------- .github/workflows/deploy_staging.yml | 35 ---------------------------- 2 files changed, 70 deletions(-) delete mode 100644 .github/workflows/deploy_prod.yml delete mode 100644 .github/workflows/deploy_staging.yml diff --git a/.github/workflows/deploy_prod.yml b/.github/workflows/deploy_prod.yml deleted file mode 100644 index 5f761827..00000000 --- a/.github/workflows/deploy_prod.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: Deploy OpenKab to Production - -on: - release: - types: [published] - -jobs: - deploy: - name: Deploy to Production Server - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup SSH - uses: appleboy/ssh-action@v1 - with: - host: ${{ secrets.PROD_HOST }} - username: ${{ secrets.PROD_USER }} - key: ${{ secrets.PROD_SSH_KEY }} - port: ${{ secrets.PROD_PORT }} - script: | - cd ${{ secrets.PROD_DEPLOY_PATH }} - # Restore to the state of the remote branch - git fetch origin ${{ secrets.BRANCH || 'main' }} - git reset --hard origin/${{ secrets.BRANCH || 'main' }} - # Pull the latest changes from the remote branch - git pull origin ${{ secrets.BRANCH || 'main' }} - composer install --no-interaction --prefer-dist --optimize-autoloader - php artisan migrate --force - php artisan admin:menu-update - php artisan config:cache - php artisan route:cache - php artisan view:cache \ No newline at end of file diff --git a/.github/workflows/deploy_staging.yml b/.github/workflows/deploy_staging.yml deleted file mode 100644 index 9b2e2ef0..00000000 --- a/.github/workflows/deploy_staging.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: Deploy OpenKab to Staging - -on: - release: - types: [published] - -jobs: - deploy: - name: Deploy to Staging Server - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup SSH - uses: appleboy/ssh-action@v1 - with: - host: ${{ secrets.STAG_HOST }} - username: ${{ secrets.STAG_USER }} - key: ${{ secrets.STAG_SSH_KEY }} - port: ${{ secrets.STAG_PORT }} - script: | - cd ${{ secrets.STAG_DEPLOY_PATH }} - # Restore to the state of the remote branch - git fetch origin ${{ secrets.BRANCH || 'main' }} - git reset --hard origin/${{ secrets.BRANCH || 'main' }} - # Pull the latest changes from the remote branch - git pull origin ${{ secrets.BRANCH || 'main' }} - composer install --no-interaction --prefer-dist --optimize-autoloader - php artisan migrate --force - php artisan admin:menu-update - php artisan config:cache - php artisan route:cache - php artisan view:cache \ No newline at end of file