Skip to content

Docker Build+Push ECR / Helm Deploy #1

Docker Build+Push ECR / Helm Deploy

Docker Build+Push ECR / Helm Deploy #1

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: aws-ssm-to-env
uses: eliasjcjunior/aws-ssm-parameters-action@main
with:
paths: |
/ecr_repo_name
- 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_NAME}}
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="db444" \
# --set mysql.dbPassword="BjGuLHRdup0wJDhnT5iT" \
# --set mysql.image.repository="yordanovsstoyan/mysql-con" \
# --set mysql.image.tag="1.1.1"