Skip to content

Fix: checking if connection exists before putting it back in the pool #38

Fix: checking if connection exists before putting it back in the pool

Fix: checking if connection exists before putting it back in the pool #38

Workflow file for this run

name: Deploy Microservice
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Set Image Tag
run: echo "IMAGE_TAG=$(date +%Y%m%d-%H%M%S)-$(git rev-parse --short HEAD)" >> $GITHUB_ENV
- name: Login to GitHub Container Registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin
- name: Build & Push Docker Image
run: |
docker build -t ghcr.io/classconnect-org/ai-microservice:${{ env.IMAGE_TAG }} .
docker push ghcr.io/classconnect-org/ai-microservice:${{ env.IMAGE_TAG }}
- name: Set Kubeconfig as Environment Variable
run: |
mkdir -p $HOME/.kube
printf "%s" "${{ secrets.KUBE_CONFIG }}" | base64 --decode > $HOME/.kube/config
export KUBECONFIG=$HOME/.kube/config
chmod 600 $HOME/.kube/config
echo "KUBECONFIG set."
- name: Create Kubernetes Secret for GHCR
run: |
kubectl create secret docker-registry ghcr-secret \
--docker-server=ghcr.io \
--docker-username=maxogod \
--docker-password=${{ secrets.PAT }} \
--docker-email=maxi18wars@gmail.com \
--dry-run=client -o yaml | kubectl apply -f -
- name: Deploy with Helm
run: |
helm upgrade --install ai-microservice ./helm-chart \
--set image.repository=ghcr.io/classconnect-org/ai-microservice \
--set image.tag=${{ env.IMAGE_TAG }} \
--set deployment.revision=$(date +%s) \
--set-string env.GEMINI_KEY="${{ secrets.GEMINI_KEY }}" \
--set-string env.ADMIN_SECRET="${{ secrets.ADMIN_SECRET }}" \
--set-string env.AI_DATABASE_URL="${{ secrets.AI_DATABASE_URL }}" \
--set-string env.JWT_SECRET="${{ secrets.JWT_SECRET }}"