Skip to content

Commit

Permalink
feat: add deployment
Browse files Browse the repository at this point in the history
  • Loading branch information
darmalovan committed Aug 6, 2024
1 parent f89a388 commit 3fdc572
Showing 1 changed file with 142 additions and 0 deletions.
142 changes: 142 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
name: Build and deploy to Kubernetes
on:
push:
branches:
- '**'

#concurrency:
# group: k8s
# cancel-in-progress: true

jobs:

# check-kubernetes-enabled:
# runs-on: ubuntu-20.04
# outputs:
# kubernetes-enabled: ${{ steps.kubernetes-flag-defined.outputs.DEFINED }}
# steps:
# - id: kubernetes-flag-defined
# if: "${{ env.ENABLE_KUBERNETES != '' }}"
# run: echo "DEFINED=true" >> $GITHUB_OUTPUT
# env:
# ENABLE_KUBERNETES: ${{ secrets.ENABLE_KUBERNETES }}
#
# check-secret:
# runs-on: ubuntu-20.04
# needs: [check-kubernetes-enabled]
# outputs:
# aws-creds-defined: ${{ steps.aws-creds-defined.outputs.DEFINED }}
# kubeconfig-defined: ${{ steps.kubeconfig-defined.outputs.DEFINED }}
# if: needs.check-kubernetes-enabled.outputs.kubernetes-enabled == 'true'
# steps:
# - id: aws-creds-defined
# if: "${{ env.AWS_ACCESS_KEY_ID != '' && env.AWS_SECRET_ACCESS_KEY != '' }}"
# run: echo "DEFINED=true" >> $GITHUB_OUTPUT
# env:
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
#
# - id: kubeconfig-defined
# if: "${{ env.KUBECONFIG != '' }}"
# run: echo "DEFINED=true" >> $GITHUB_OUTPUT
# env:
# KUBECONFIG: ${{ secrets.KUBECONFIG }}


build-frontend:
name: Build frontend images
runs-on: ubuntu-20.04
# needs: [check-secret]
# if: needs.check-secret.outputs.aws-creds-defined == 'true'
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1-node16
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-2

# - name: Login to Amazon ECR
# id: login-ecr
# uses: aws-actions/amazon-ecr-login@v1

- name: Log in to GHCR
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin

- name: Set the image tag
run: echo IMAGE_TAG=${GITHUB_REPOSITORY/\//-}-latest >> $GITHUB_ENV

- name: Set repository name
run: |
if [ ${{ secrets.CLUSTER_ENV }} == 'staging' ]; then
echo "REPO_NAME=staging-anythink-frontend" >> $GITHUB_ENV
else
echo "REPO_NAME=anythink-frontend" >> $GITHUB_ENV
fi
- name: Build and push Docker image to GHCR
uses: docker/build-push-action@v3
with:
context: .
push: true
tags: ghcr.io${{ steps.login-ecr.outputs.registry }}/${{ env.REPO_NAME }}:${{ env.IMAGE_TAG }}

# - name: Build, tag, and push frontend image to Amazon ECR
# id: build-image-frontend
# run: |
# docker build \
# -t ${{ steps.login-ecr.outputs.registry }}/${{ env.REPO_NAME }}:${{ env.IMAGE_TAG }} \
# -f frontend/Dockerfile.aws \
# .
# docker push ${{ steps.login-ecr.outputs.registry }}/${{ env.REPO_NAME }}:${{ env.IMAGE_TAG }}
#
- name: Log in to Azure CLI
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}

- name: Deploy to Azure Container Instances
run: |
az container create --resource-group Universe2023CopilotRG \
--name ${{ env.REPO_NAME }} \
--image ${{ steps.login-ecr.outputs.registry }}/${{ env.REPO_NAME }}:${{ env.IMAGE_TAG }} \
--cpu 1 --memory 1 \
--ports 80
# deploy:
# name: Deploy latest tag using helm
# runs-on: ubuntu-20.04
# needs:
# - build-frontend
# steps:
# - name: Checkout
# uses: actions/checkout@v3
#
# - name: Create kube config
# run: |
# mkdir -p $HOME/.kube/
# echo "${{ secrets.KUBECONFIG }}" > $HOME/.kube/config
# chmod 600 $HOME/.kube/config
# - name: Install helm
# run: |
# curl -LO https://get.helm.sh/helm-v3.8.0-linux-amd64.tar.gz
# tar -zxvf helm-v3.8.0-linux-amd64.tar.gz
# mv linux-amd64/helm /usr/local/bin/helm
# helm version
# - name: Lint helm charts
# run: helm lint ./charts/
#
# - name: Set the image tag
# run: echo IMAGE_TAG=${GITHUB_REPOSITORY/\//-}-latest >> $GITHUB_ENV
#
# - name: Deploy
# run: |
# helm upgrade --install --timeout 10m anythink-market ./charts/ \
# --set clusterEnv=${{ secrets.CLUSTER_ENV }} \
# --set frontend.image.tag=${{ env.IMAGE_TAG }} \
# --set backend.image.tag=${{ env.IMAGE_TAG }}

0 comments on commit 3fdc572

Please sign in to comment.