-
Notifications
You must be signed in to change notification settings - Fork 7
/
cnn-workflow.yaml
70 lines (70 loc) · 3.06 KB
/
cnn-workflow.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
name: cnn-workflow
"on":
push:
branches:
- main
workflow_dispatch: {}
env:
ACR_RESOURCE_GROUP: acrResourceGroup
AZURE_CONTAINER_REGISTRY: ngAcrRegistry
CHART_OVERRIDE_PATH: ./techtalks-helm-chart/techtalk/values.yaml
CHART_OVERRIDES: techTalksProducer.image.repository=ngacrregistry.azurecr.io/techtalksproducer,techTalksProducer.image.tag=${{ github.sha }},techTalksConsumer.image.repository=ngacrregistry.azurecr.io/techtalksconsumer,techTalksConsumer.image.tag=${{ github.sha }}
CHART_PATH: ./techtalks-helm-chart/techtalk
CLUSTER_NAME: azure-singapore-cluster
CLUSTER_RESOURCE_GROUP: demo-azure-singapore-rg
CONTAINER_NAME: nileshgule/techtalksproducer
jobs:
buildImage:
permissions:
contents: read
id-token: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: azure/login@92a5484dfaf04ca78a94597f4f19fea633851fa2
name: Azure login
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
# - name: Build and push image to ACR
# run: az acr build --image ${{ env.CONTAINER_NAME }}:${{ github.sha }} --registry ${{ env.AZURE_CONTAINER_REGISTRY }} -g ${{ env.ACR_RESOURCE_GROUP }} -f ./docker-compose-go-acr.yml ./
- name: Login to ACR
run: az acr login --name ${{ env.AZURE_CONTAINER_REGISTRY }}
- name: Build the Docker image
run: docker compose -f ./docker-compose-go-acr-ci.yml build
env:
IMAGE_TAG: ${{ github.sha }}
- name: Push the Docker image
run: docker compose -f ./docker-compose-go-acr-ci.yml push
env:
IMAGE_TAG: ${{ github.sha }}
deploy:
permissions:
actions: read
contents: read
id-token: write
runs-on: ubuntu-latest
needs:
- buildImage
steps:
- uses: actions/checkout@v3
- uses: azure/login@92a5484dfaf04ca78a94597f4f19fea633851fa2
name: Azure login
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
- uses: azure/use-kubelogin@v1
name: Set up kubelogin for non-interactive login
with:
kubelogin-version: v0.0.25
- uses: azure/aks-set-context@v3
name: Get K8s context
with:
admin: "false"
cluster-name: ${{ env.CLUSTER_NAME }}
resource-group: ${{ env.CLUSTER_RESOURCE_GROUP }}
use-kubelogin: "true"
- name: Deploy application
run: helm upgrade --wait -i -f ${{ env.CHART_OVERRIDE_PATH }} --set ${{ env.CHART_OVERRIDES }} automated-deployment ${{ env.CHART_PATH }}