Skip to content

Project for learning some DevOps tools and technologies.

License

Notifications You must be signed in to change notification settings

michalantolik/chemik-police

Repository files navigation

chemik-police

Repository overview

Presentation of variuous DevOps tools and technologies.

What was done:

  • Generated Dockerfile for ASP.NET 7 web app using VS Code Docker extension 👉 repo 👉 docs

  • Built custom Jenkins Docker image with support for .NET 7 SDK 👉 repo 👉 docs

  • Published custom Jenkins Docker image to Docker Hub 👉 repo 👉 dockerhub

  • Ran Jenkins from a Docker image on a localhost 👉 repo 👉 docs

  • Ran Jenkins from a Docker image in Azure Container Instances (ACI) 👉 repo 👉 docs

  • Created Jenkins CI/CD pipeline as code for ASP.NET 7 web app 👉 repo 👉 docs

  • Deployed ASP.NET 7 web app to Azure Container Instances (ACI) 👉 repo 👉 docs

    👉 ... using ARM template 👉 repo 👉 docs

    👉 ... using Azure CLI 👉 repo 👉 docs

    👉 ... using Bicep 👉 repo 👉 docs

    👉 ... using PowerShell 👉 repo 👉 docs

    👉 ... using Terraform 👉 repo 👉 docs

  • Deploy ASP.NET 7 web app to Azure Kubernetes Service (AKS) 👉 repo 👉 docs

    👉 ... using imperative way 👉 repo 👉 docs

    👉 ... using declarative way 👉 repo 👉 docs

Technology stack used

Demo ASP.NET 7 web app used

👉 http://chemikpolice-app.westeurope.azurecontainer.io

Built custom Jenkins Docker image with support for .NET 7 SDK

👉 ps-build.ps1 builds custom Jenkins Docker image

👉 Dockerfile defines Jenkins Docker image with all the tools required by the CI/CD pipeline:

Published custom Jenkins Docker image to Docker Hub

👉 ps-push.ps1 pushes custom Docker image to Docker Hub repository: michalantolik/jenkins-agent-dotnet

Ran Jenkins from a Docker image on a localhost

👉 ps-start-jenkins.ps1 starts Jenkins and MailHog SMTP server as containers on a localhost using compose.yaml

👉 ps-stop-jenkins.ps1 stops Jenkins and MailHog SMTP server containers

Ran Jenkins from a Docker image in Azure Container Instances (ACI)

👉 azcli-deployment.azcli deploys Jenkins to Azure Container Instances (ACI) using Azure CLI

👉 terraform-deployment.ps1 deploys Jenkins to Azure Container Instances (ACI) using Terraform

Created Jenkins CI/CD pipeline as code for ASP.NET 7 web app

👉 Dockerfile defines Jenkins Docker image with all the tools required by the CI/CD pipeline

👉 Jenkinsfile defines Jenkins CI/CD pipeline

Deployed ASP.NET 7 web app to Azure Container Instances (ACI)

👉 arm-deployment.azcli deploys ChemikPolice to Azure Container Instances (ACI) using ARM template

👉 azcli-deployment.azcli deploys ChemikPolice to Azure Container Instances (ACI) using Azure CLI

👉 bicep-deployment.azcli deploys ChemikPolice to Azure Container Instances (ACI) using Bicep

👉 ps-deployment.ps1 deploys ChemikPolice to Azure Container Instances (ACI) using PowerShell

👉 terraform-deployment.ps1 deploys ChemikPolice to Azure Container Instances (ACI) using Terraform

Deployed ASP.NET 7 web app to Azure Kubernetes Service (AKS)

👉 kubectl-imperative-deployment.azcli deploys ChemikPolice to Azure Kubernetes Service (AKS) using kubectl

👉 kubectl-delarative-deployment.ps1 deploys ChemikPolice to Azure Kubernetes Service (AKS) using kubectl and YAML manifest