diff --git a/.github/scripts/build.sh b/.github/scripts/build.sh index 604911c..470be18 100755 --- a/.github/scripts/build.sh +++ b/.github/scripts/build.sh @@ -1,13 +1,14 @@ #!/bin/bash build=$1 +env=$2 [ $build = "enable" ] || exit 0 aws ecr get-login-password --region eu-central-1 | docker login --username AWS --password-stdin 490752553772.dkr.ecr.eu-central-1.amazonaws.com docker build -t pse-web . -docker tag pse-web:latest 490752553772.dkr.ecr.eu-central-1.amazonaws.com/pse-web:latest -docker push 490752553772.dkr.ecr.eu-central-1.amazonaws.com/pse-web:latest +docker tag pse-web:latest 490752553772.dkr.ecr.eu-central-1.amazonaws.com/pse-web-$env:latest +docker push 490752553772.dkr.ecr.eu-central-1.amazonaws.com/pse-web-$env:latest exit 0 diff --git a/.github/scripts/deploy.sh b/.github/scripts/deploy.sh index c62add2..202c5ee 100755 --- a/.github/scripts/deploy.sh +++ b/.github/scripts/deploy.sh @@ -1,10 +1,12 @@ #!/bin/bash set -ex + +env=$1 -tasks="pse-web" +tasks="pse-web-$env" for task in $tasks; do pse_web_revision=$(aws ecs describe-task-definition --task-definition $task --query "taskDefinition.revision") - aws ecs update-service --cluster pse-web --service $task --force-new-deployment --task-definition $task:$pse_web_revision + aws ecs update-service --cluster pse-web-$env --service $task --force-new-deployment --task-definition $task:$pse_web_revision done -aws ecs wait services-stable --cluster pse-web --services $tasks +aws ecs wait services-stable --cluster pse-web-$env --services $tasks diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 5b2d330..049da4b 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -12,6 +12,14 @@ on: options: - enable - disable + environment: + description: "Environment" + required: true + default: "prod" + type: choice + options: + - prod + - stg concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -22,6 +30,7 @@ jobs: runs-on: ubuntu-latest env: DATA: ${{ github.event.inputs.build }} + DATA_ENV: ${{ github.event.inputs.environment }} permissions: id-token: write contents: read @@ -48,8 +57,8 @@ jobs: - name: Build and Push images to ECR run: | - .github/scripts/build.sh ${{ env.DATA }} + .github/scripts/build.sh ${{ env.DATA }} ${{ env.DATA_ENV }} - name: Update Deployment run: | - .github/scripts/deploy.sh + .github/scripts/deploy.sh ${{ env.DATA_ENV }}