The 6 Figure Developer Podcast

Episode 143 – Azure Pipelines


Listen Later

 

In this episode we talk about Azure Pipelines.

 
Definitions


What is a pipeline

Chain of repeatable actions/tasks that transform some input into some output. Its like a function chain.



Types of pipelines

Build Pipeline

This pipeline takes the source code as input and produces deployable artifacts as the output.
It may also do some unit testing, linting and static analysis to the code to check the validatiy of the output artifacts.


Release Pipleline

This pipeline takes the deployable artifacts as input and produces deployed environments as outputs.
It may also perform some automated integration tests to test the validity of the deployment





Continuous Integration (CI)

This is the practice of merging the small batches of developer changes into the main branch continuously instead of all at once at the end of a development cycle.
This is facilitated by a good build pipeline.
For good or worse CI Pipeline and Build Pipeline are often conflated



Continuous Delivery (CD)

This is the practice of automatically deploying an artifact to an environment as soon as the artifact is created.
This does not mean that the environment production.
This is facilitated by a good release pipeline
For good or worse CD Pipeline and Release Pipeline are often conflated



CI/CD

This is when we combine the practice of Continuous Integration with the practice of Continuous Delivery



Continuous Deployment

This is the practice of extending the automatic deployment of an artifact through all stages until is automatically deployed to production.
This requires one or more good release pipelines
It often gets confused with Continious Delivery. It is Continuous Delivery but Continuous Delivery is not Continuous Deployment.





Azure DevOps Products


Azure DevOps

A suite of development tools


Azure Pipelines

Tool for building out the build and release pipelines
Alternates Jenkins, Octopus, TeamCity, Circleci, GitLab
Excellent GitHub and Azure DevOps Repos integration, but can connect to other remote repositories
Excellent Azure integration, but can deploy into most any platfor or environment.
Linux, macOS and Windows adjents
Supports most lanuages
Free for Open Source (10 parallel jobs unlimited minutes)
First agent free for closed source





Before Creating a Pipeline


Consider your branching strategy

Recommend, Trunk-based Strategy

Team shares single trunk (master) that all development is based off of.


Release Flow






Creating a Build Pipeline



YAML vs Classic

Recommend, YAML uses a yaml config stored in the source code repository to define the build pipeline.
Classic is good for learning the platform and can be used to figure out the correct yaml.



trigger

Recommend, based on changes to specified branchs

can include or exclude files and folders within the branch


can be triggered on a timed schedule



define jobs

a job us run on an agent and has its own variables and copies of source code etc.
jobs can be completed in parallel



define steps in jobs

...more
View all episodesView all episodes
Download on the App Store

The 6 Figure Developer PodcastBy The 6 Figure Developer

  • 4.8
  • 4.8
  • 4.8
  • 4.8
  • 4.8

4.8

26 ratings