From bf0e4447b496437298e3636c88bdfbe075fcd281 Mon Sep 17 00:00:00 2001 From: Baligh Hatem Mehrez Date: Thu, 8 Jun 2023 17:02:20 +0300 Subject: [PATCH] creating file: .github/workflows/TheArchitectsVault-WF.yaml --- .github/workflows/TheArchitectsVault-WF.yaml | 65 ++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .github/workflows/TheArchitectsVault-WF.yaml diff --git a/.github/workflows/TheArchitectsVault-WF.yaml b/.github/workflows/TheArchitectsVault-WF.yaml new file mode 100644 index 000000000..44e222ae6 --- /dev/null +++ b/.github/workflows/TheArchitectsVault-WF.yaml @@ -0,0 +1,65 @@ +name: TheArchitectsVault-WF +"on": + push: + branches: + - dev + workflow_dispatch: {} +env: + ACR_RESOURCE_GROUP: TheArchitectsVault_group + AZURE_CONTAINER_REGISTRY: acrworkflow1686232508452 + CLUSTER_NAME: TheArchitectsVault + CLUSTER_RESOURCE_GROUP: TheArchitectsVault_group + CONTAINER_NAME: image-workflow-1686232508452 + DEPLOYMENT_MANIFEST_PATH: | + manifests/deployment.yaml + manifests/service.yaml +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 Dockerfile ./ + 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" + - uses: Azure/k8s-deploy@v4 + name: Deploys application + with: + action: deploy + images: ${{ env.AZURE_CONTAINER_REGISTRY }}.azurecr.io/${{ env.CONTAINER_NAME }}:${{ github.sha }} + manifests: ${{ env.DEPLOYMENT_MANIFEST_PATH }} + namespace: namespace-workflow-1686232508452