diff --git a/.github/workflows/deploy-aws.yml b/.github/workflows/deploy-aws.yml new file mode 100644 index 0000000..128abd6 --- /dev/null +++ b/.github/workflows/deploy-aws.yml @@ -0,0 +1,53 @@ +name: Deploy to Kube AWS + +on: + workflow_call: + inputs: + app-name: + required: true + type: string + app-target: + required: true + type: string + image-tag: + required: true + type: string + secrets: + REGISTRY: + required: true + EKS_KEY: + required: true + EKS_SECRET: + required: true + +jobs: + deploy-k8s-eks: + name: Deploy to deployment EKS + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{secrets.EKS_KEY}} + aws-secret-access-key: ${{secrets.EKS_SECRET}} + aws-region: ap-southeast-3 + - name: Deploy + env: + REGISTRY: ${{ secrets.REGISTRY }} + APP: ${{ inputs.app-name }} + APPTARGET: ${{inputs.app-target}} + TAG: ${{inputs.image-tag}} + run: | + curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" + unzip awscliv2.zip + ./aws/install + curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.7/2022-10-31/bin/linux/amd64/kubectl + chmod +x kubectl + mv kubectl /usr/local/bin/ + cd ~ + mkdir .kube + aws eks update-kubeconfig --region ap-southeast-3 --name production-clusters + kubectl set image deployment/$APP $APPTARGET=$REGISTRY:$TAG + kubectl rollout restart deployment/$APP