CI/CD pipelines are popular techniques to build modern web applications, and public cloud is often the hub for those architectures.
In this video, Matt Browne, TechSnips contributor and a freelance infrastructure consultant with over 20 years of IT experience, demonstrates how to set up a CI/CD pipeline in the Microsoft Azure DevOps console. For the purposes of the demo, he's already created an organization, a blank project and a web app, and has a code repository in GitHub from static website generator Hugo.
An Azure DevOps pipeline consists of two components: builds and releases. IT teams can use a wizard to configure the build, but Browne uses the visual designer to walk through the steps more thoroughly. He selects his repository and the branch he wants to use -- "dev" in this case.
Once that's complete, he can select from a series of preconfigured templates, such as Android, .NET Desktop or ASP.NET. He opts for the "empty job" and proceeds to select from the agent pool. There are a range of options, including hosted Windows containers, hosted Ubuntu or hosted MacOS.
The sources and agent selections can then be reviewed, after which a build task is chosen. Many options are available here as well, ranging from an Azure App Service to an Azure CLI script to an Azure File Copy job. If a specific task isn't available, users can download it from the Azure Marketplace.
Browne selects Hugo for his task, which requires him to choose a source and destination. He also includes a task to publish build artifacts.
The final step in the build stage is to select "triggers." Browne clicks on "enable continuous integration" so he can monitor any changes from GitHub. Once saved, he returns to the build root to show that his configuration is queued to run. Now he can monitor the status of the job and go back to his GitHub repository to edit a file and kick off a build.
Once the build is complete, users can move on to the release stage in the Azure DevOps console and select a new pipeline. Again, there are a range of template options, but Browne opts for the empty job. He then leaves the default name stage and clicks on "artifacts." This shows his build pipeline and he clicks on the lightning bolt icon to enable continuous deployment.
Similar to the build stage, he then selects his agent -- still Windows containers for his demo -- and adds a task. He opts for Azure App Service Deploy, assigns a subscription and selects the App Service type and name. Once saved, there's a fully working release with the artifact and stages underneath.
The final step is to go back to the GitHub repository, make another change and return to the Azure DevOps console to ensure his build and release have properly kicked off. With that, Browne has a functioning web app. Check out the full video to walk through these steps and get ready to build a web app in Azure that incorporates a CI/CD pipeline.