Skip to content

Commit 1898375

Browse files
authored
Merge pull request #94 from Zohair-coder/dev
Dev
2 parents b38315c + 5af91e1 commit 1898375

File tree

11 files changed

+578
-209
lines changed

11 files changed

+578
-209
lines changed
Lines changed: 74 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,91 +1,91 @@
1-
# name: Build and Deploy to Kubernetes
1+
name: Build and Deploy to Kubernetes
22

3-
# on:
4-
# push:
5-
# branches:
6-
# - main
7-
# - dev
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- dev
88

9-
# env:
10-
# DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
11-
# DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
12-
# KUBECONFIG: ${{ secrets.KUBECONFIG }}
13-
# IMAGE_NAME: zohairr/drexelscheduler-scraper
9+
env:
10+
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
11+
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
12+
KUBECONFIG: ${{ secrets.KUBECONFIG }}
13+
IMAGE_NAME: zohairr/drexelscheduler-scraper
1414

15-
# jobs:
16-
# build-and-push:
17-
# runs-on: ubuntu-latest
18-
# steps:
19-
# - name: Checkout code
20-
# uses: actions/checkout@v4
15+
jobs:
16+
build-and-push:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout code
20+
uses: actions/checkout@v4
2121

22-
# - name: Set up QEMU
23-
# uses: docker/setup-qemu-action@v3
22+
- name: Set up QEMU
23+
uses: docker/setup-qemu-action@v3
2424

25-
# - name: Set up Docker Buildx
26-
# uses: docker/setup-buildx-action@v3
25+
- name: Set up Docker Buildx
26+
uses: docker/setup-buildx-action@v3
2727

28-
# - name: Login to DockerHub
29-
# run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
28+
- name: Login to DockerHub
29+
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
3030

31-
# - name: Build and push Docker image
32-
# run: |
33-
# COMMIT_SHA=$(echo $GITHUB_SHA | cut -c1-7)
34-
# docker buildx create --use
35-
# docker buildx build --platform linux/arm64 -t $IMAGE_NAME:$COMMIT_SHA . --push
31+
- name: Build and push Docker image
32+
run: |
33+
COMMIT_SHA=$(echo $GITHUB_SHA | cut -c1-7)
34+
docker buildx create --use
35+
docker buildx build --platform linux/arm64 -t $IMAGE_NAME:$COMMIT_SHA . --push
3636
37-
# deploy:
38-
# needs: build-and-push
39-
# runs-on: ubuntu-latest
40-
# steps:
41-
# - name: Checkout code
42-
# uses: actions/checkout@v4
37+
deploy:
38+
needs: build-and-push
39+
runs-on: ubuntu-latest
40+
steps:
41+
- name: Checkout code
42+
uses: actions/checkout@v4
4343

44-
# - name: Install and configure kubectl
45-
# run: |
46-
# sudo snap install kubectl --classic
47-
# echo "$KUBECONFIG" | base64 --decode > kubeconfig.yaml
44+
- name: Install and configure kubectl
45+
run: |
46+
sudo snap install kubectl --classic
47+
echo "$KUBECONFIG" | base64 --decode > kubeconfig.yaml
4848
49-
# - name: Set Namespace based on Branch
50-
# run: echo "NAMESPACE=$(if [ "${{ github.ref }}" = "refs/heads/main" ]; then echo 'default'; else echo 'dev'; fi)" >> $GITHUB_ENV
49+
- name: Set Namespace based on Branch
50+
run: echo "NAMESPACE=$(if [ "${{ github.ref }}" = "refs/heads/main" ]; then echo 'default'; else echo 'dev'; fi)" >> $GITHUB_ENV
5151

52-
# - name: Set up Helm
53-
# run: |
54-
# curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
55-
# chmod 700 get_helm.sh
56-
# ./get_helm.sh
52+
- name: Set up Helm
53+
run: |
54+
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
55+
chmod 700 get_helm.sh
56+
./get_helm.sh
5757
58-
# - name: Check for running Kubernetes jobs
59-
# run: |
60-
# KUBECONFIG=kubeconfig.yaml
61-
# while kubectl get jobs -n ${{ env.NAMESPACE }} -o jsonpath='{.items[?(@.status.active)].metadata.name}' | grep "drexel-scheduler-cronjob"; do
62-
# echo "Waiting for jobs to complete..."
63-
# sleep 30
64-
# done
58+
- name: Check for running Kubernetes jobs
59+
run: |
60+
KUBECONFIG=kubeconfig.yaml
61+
while kubectl get jobs -n ${{ env.NAMESPACE }} -o jsonpath='{.items[?(@.status.active)].metadata.name}' | grep "drexel-scheduler-cronjob"; do
62+
echo "Waiting for jobs to complete..."
63+
sleep 30
64+
done
6565
66-
# - name: Deploy to Kubernetes
67-
# run: |
68-
# COMMIT_SHA=$(echo $GITHUB_SHA | cut -c1-7)
69-
# VALUES_FILE="./k8s/drexel-scraper/values-${{ env.NAMESPACE }}.yaml"
70-
# RELEASE_NAME="drexel-scraper-${{ env.NAMESPACE }}"
71-
# KUBECONFIG=kubeconfig.yaml helm upgrade --install $RELEASE_NAME ./k8s/drexel-scraper -f $VALUES_FILE -n ${{ env.NAMESPACE }} --set image.tag=$COMMIT_SHA --atomic
66+
- name: Deploy to Kubernetes
67+
run: |
68+
COMMIT_SHA=$(echo $GITHUB_SHA | cut -c1-7)
69+
VALUES_FILE="./k8s/drexel-scraper/values-${{ env.NAMESPACE }}.yaml"
70+
RELEASE_NAME="drexel-scraper-${{ env.NAMESPACE }}"
71+
KUBECONFIG=kubeconfig.yaml helm upgrade --install $RELEASE_NAME ./k8s/drexel-scraper -f $VALUES_FILE -n ${{ env.NAMESPACE }} --set image.tag=$COMMIT_SHA --atomic
7272
73-
# - name: Clear Cache
74-
# run: |
75-
# kubectl create job -n ${{ env.NAMESPACE }} --from=cronjob/delete-extra-course-data-cronjob github-actions-delete-credits-job --kubeconfig=kubeconfig.yaml
76-
# kubectl create job -n ${{ env.NAMESPACE }} --from=cronjob/delete-ratings-cronjob github-actions-delete-ratings-job --kubeconfig=kubeconfig.yaml
73+
- name: Clear Cache
74+
run: |
75+
kubectl create job -n ${{ env.NAMESPACE }} --from=cronjob/delete-extra-course-data-cronjob github-actions-delete-credits-job --kubeconfig=kubeconfig.yaml
76+
kubectl create job -n ${{ env.NAMESPACE }} --from=cronjob/delete-ratings-cronjob github-actions-delete-ratings-job --kubeconfig=kubeconfig.yaml
7777
78-
# - name: Add Grafana Helm Repo
79-
# run: |
80-
# helm repo add grafana https://grafana.github.io/helm-charts
81-
# helm repo update
78+
- name: Add Grafana Helm Repo
79+
run: |
80+
helm repo add grafana https://grafana.github.io/helm-charts
81+
helm repo update
8282
83-
# - name: Deploy Grafana to Dev
84-
# if: github.ref == 'refs/heads/dev'
85-
# run: |
86-
# KUBECONFIG=kubeconfig.yaml helm upgrade --install grafana-dev grafana/grafana -f k8s/grafana-dev-values.yaml -n dev
83+
- name: Deploy Grafana to Dev
84+
if: github.ref == 'refs/heads/dev'
85+
run: |
86+
KUBECONFIG=kubeconfig.yaml helm upgrade --install grafana-dev grafana/grafana -f k8s/grafana-dev-values.yaml -n dev
8787
88-
# - name: Deploy Grafana to Prod
89-
# if: github.ref == 'refs/heads/main'
90-
# run: |
91-
# KUBECONFIG=kubeconfig.yaml helm upgrade --install grafana grafana/grafana -f k8s/grafana-default-values.yaml --set env.GF_ANALYTICS_GOOGLE_ANALYTICS_4_ID=${{ secrets.GOOGLE_ANALYTICS_ID }} -n default
88+
- name: Deploy Grafana to Prod
89+
if: github.ref == 'refs/heads/main'
90+
run: |
91+
KUBECONFIG=kubeconfig.yaml helm upgrade --install grafana grafana/grafana -f k8s/grafana-default-values.yaml --set env.GF_ANALYTICS_GOOGLE_ANALYTICS_4_ID=${{ secrets.GOOGLE_ANALYTICS_ID }} -n default

0 commit comments

Comments
 (0)