Skip to content

Docker Build+Push ECR #7

Docker Build+Push ECR

Docker Build+Push ECR #7

Workflow file for this run

name: Docker Build+Push ECR
on:
workflow_dispatch:
env:
region: us-east-2
ecr-repo: my-ecr
eks_cluster_name: my-eks-cluster
jobs:
build-and-push:
name: Build and Push to ECR
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
aws-region: ${{ env.region }}
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
- name: Build, Tag, and Push the Image to Amazon ECR
id: build-image
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
ECR_REPOSITORY: ${{ env.ecr-repo }}
IMAGE_TAG: ${{ github.sha }}
run: |
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG -t $ECR_REGISTRY/$ECR_REPOSITORY:latest mysql-connect-app
docker push -a $ECR_REGISTRY/$ECR_REPOSITORY
deploy:
name: Deploy Helm chart
runs-on: ubuntu-latest
needs: build-and-push
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
aws-region: ${{ env.region }}
- uses: azure/[email protected]
- name: Install kubectl
uses: azure/setup-kubectl@v3
id: install
- name: Update kubeconfig
run: aws eks update-kubeconfig --name ${{ env.eks_cluster_name }} --region ${{ env.region }}
- name: Deploy with Helm
run: |
helm upgrade --install mysql-app ./mysql-connect-helm-chart \
--set namespace="mysql-namespace" \
--set mysql.dbHost="wrong" \
--set mysql.dbUser="dbuser" \
--set mysql.dbPassword="BjGuLHRdup0wJDhnT5iT" \
--set mysql.image.repository="yordanovsstoyan/mysql-con" \
--set mysql.image.tag="1.1.1"