|
6 | 6 | environment: |
7 | 7 | description: 'Deployment environment' |
8 | 8 | required: true |
9 | | - # PERBAIKAN: Mengubah default agar cocok dengan nama environment Anda |
10 | 9 | default: 'Production' |
11 | 10 | type: choice |
12 | 11 | options: |
13 | | - # PERBAIKAN: Mengubah opsi agar cocok |
14 | 12 | - Production |
15 | 13 | - staging |
16 | 14 | push: |
|
30 | 28 | deploy: |
31 | 29 | name: Build and Deploy to App Runner |
32 | 30 | runs-on: ubuntu-latest |
33 | | - # PERBAIKAN: Mengubah default menjadi 'Production' (P besar) agar cocok dengan environment Anda |
34 | 31 | environment: ${{ github.event.inputs.environment || 'Production' }} |
35 | 32 |
|
36 | 33 | steps: |
@@ -74,12 +71,24 @@ jobs: |
74 | 71 | echo "Updating existing App Runner service: $SERVICE_ARN" |
75 | 72 | aws apprunner start-deployment --service-arn $SERVICE_ARN |
76 | 73 |
|
77 | | - # Menambahkan loop untuk menunggu deployment selesai |
78 | | - echo "Waiting for deployment to complete..." |
79 | | - timeout 10m aws apprunner wait service-stable --service-arn $SERVICE_ARN |
80 | | - echo "Deployment finished successfully!" |
| 74 | + # PERBAIKAN: Menggunakan perintah 'wait' yang benar dan menambahkan pengecekan status akhir |
| 75 | + echo "Waiting for service to become stable..." |
| 76 | + # Menunggu hingga layanan kembali ke status RUNNING, dengan timeout 10 menit |
| 77 | + aws apprunner wait service-status-running --service-arn $SERVICE_ARN |
| 78 | +
|
| 79 | + echo "Deployment finished. Checking final operation status..." |
| 80 | + # Mengambil status operasi deployment terakhir |
| 81 | + LATEST_OP_STATUS=$(aws apprunner list-operations --service-arn $SERVICE_ARN --max-results 1 --query "OperationSummaryList[0].Status" --output text) |
| 82 | +
|
| 83 | + if [ "$LATEST_OP_STATUS" == "SUCCEEDED" ]; then |
| 84 | + echo "✅ Deployment Succeeded!" |
| 85 | + else |
| 86 | + echo "❌ Deployment resulted in status: $LATEST_OP_STATUS" |
| 87 | + # Membuat job gagal jika deployment tidak berhasil |
| 88 | + exit 1 |
| 89 | + fi |
81 | 90 | else |
82 | 91 | echo "Service '${{ env.APP_RUNNER_SERVICE_NAME }}' not found. Please create it manually." |
83 | 92 | echo "Use Image URI: ${{ steps.build-image.outputs.image_uri }}" |
84 | | - # exit 1 # Opsional: buat job gagal jika service tidak ditemukan |
| 93 | + exit 1 # Membuat job gagal jika service tidak ditemukan |
85 | 94 | fi |
0 commit comments