11 Awesome Resources for Building Your Applications in CI Using Azure DevOps Pipelines
Published: 2019-04-03 14:46:18

This isn't your average article. It may be more accurate to classify this article as a brain dump that I hope you'll find some value. It's a condensed list of links that I found to be very useful for creating a CI build pipeline.


This is what I would have loved when I was learning how to create a CI pipeline with Azure DevOps. I wanted to create the pipeline using a YAML file, and while the quick-start is helpful, my scenario was more nuanced. I bet your situations have special cases too.

As I was working on putting my app into an Azure DevOps pipeline I wrote down all of the links that I found to be super helpful. Thus, I decided to make a list of them and share them with you, in case they may be of help to you, as well.

> In case you are curious, [this is the Pipeline that I built](https://johnpapa.visualstudio.com/vscode-peacock/_build/results?buildId=186) when I was creating [Peacock](https://marketplace.visualstudio.com/items?itemName=johnpapa.vscode-peacock&wt.mc_id=devto-blog-jopapa).

## Free for OSS?

What does it cost for OSS? This is a great question, and the best answer comes directly from the [source here](https://azure.microsoft.com/en-us/blog/announcing-azure-pipelines-with-unlimited-ci-cd-minutes-for-open-source/?wt.mc_id=devto-blog-jopapa). 

> With the introduction of Azure DevOps today, we’re offering developers a new CI/CD service called Azure Pipelines that enables you to continuously build, test, and deploy to any platform or cloud. 

Here are some more details on the [pricing and what you can get for free and what qualifies](https://azure.microsoft.com/en-us/pricing/details/devops/azure-devops-services/?WT.mc_id=devto-blog-jopapa).

## Gimme the Links

I tried, below, to explain why each might be helpful, so you can decide which might suit your use cases.

I hope this helps!

### - 1 - Starting page for all things DevOps

Start here. Seriously, it's a great starting place that can help ground you in the Azure DevOps tool and what you can do.

- Start here to learn [Azure Pipelines](https://docs.microsoft.com/en-us/azure/devops/pipelines/?view=azure-devops&wt.mc_id=devto-blog-jopapa)

### - 2 - Multiple Jobs

If you want to run your builds in different ways, this is a great resource. For example, imagine you want to run your build on Windows and Linux and macOS. If so, this is the place to start.

- Learn how to [create multiple jobs](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/multiple-phases?view=azure-devops&tabs=yaml&wt.mc_id=devto-blog-jopapa)

### - 3 - Trigger a Build

If you want to trigger builds from your GitHub repo to Azure DevOps, this is a great resource. It shows how to set up the YAML for Triggers for branches and Pull Requests.

- Learn how to set up the [YAML for Triggers for branches and Pull Requests](https://docs.microsoft.com/en-us/azure/devops/pipelines/build/triggers?view=azure-devops&tabs=yaml&wt.mc_id=devto-blog-jopapa)

### - 4 - YAML Example

If you want an example of what a YAML file in DevOps looks like, look no further.

- Check out this [example of a pipeline YAML file](https://github.com/MicrosoftDocs/pipelines-javascript/blob/master/azure-pipelines.yml?wt.mc_id=devto-blog-jopapa)

### - 5 - Build Multiple Branches

If you want to build more than one branch or exclude some branches from builds, then this is a great resource.

- Learn to [build multiple branches](https://docs.microsoft.com/en-us/azure/devops/pipelines/build/ci-build-git?view=azure-devops&tabs=yaml&wt.mc_id=devto-blog-jopapa)

### - 6 - Build Using Multiple Node Versions

If you like to test against more than one version of Node.js, this is a great resource.

- Learn how to [create a build strategy for multiple Node versions](https://docs.microsoft.com/en-us/azure/devops/pipelines/languages/javascript?view=azure-devops&wt.mc_id=devto-blog-jopapa&tabs=yaml#use-multiple-node-versions)

### - 7 - Hosted Agents and YAML

If you want to learn more about how to create the hosted agent (the thing that does all the work for you), this is a great resource.

- Learn the [Host agent syntax for the YAML](https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&wt.mc_id=devto-blog-jopapa&tabs=yaml#use-a-microsoft-hosted-agent)

### - 8 - Example Pipeline of a VS Code Extension

I was building a VS Code extension, so this example was helpful for me. If you are building a Node.js app, it may help you too.

- See an [example of a pipeline for VS Code Extensions](https://code.visualstudio.com/api/working-with-extensions/continuous-integration#azure-pipelines?&wt.mc_id=devto-blog-jopapa)

### - 9 - Multiple Build Jobs

If you want to run your build in different ways, this is a great resource. A great example is running multiple jobs for multiple OS's.

- Learn how to run [multiple jobs](https://docs.microsoft.com/en-us/azure/devops/pipelines/process/multiple-phases?view=azure-devops&tabs=yaml&wt.mc_id=devto-blog-jopapa)

### - 10 - Extension for VS Code

If you want some extra help for Azure DevOps Pipelines and YAML in VS Code, try this resource.

- Learn about the [Azure Pipelines](https://azure.microsoft.com/en-us/blog/new-azure-pipelines-announcements-vs-code-extension-github-releases-and-more/?wt.mc_id=devto-blog-jopapa) extension for VS Code

- Get the [Azure DevOps Pipelines extension](https://marketplace.visualstudio.com/items?itemName=ms-azure-devops.azure-pipelines&wt.mc_id=devto-blog-jopapa)

### - 11 - All Things YAML

If you get stuck in the YAML (I know I did), then this is an excellent resource for figuring out what goes where.

- Lean on the [YAML scheme reference](https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema&viewFallbackFrom=vsts&wt.mc_id=devto-blog-jopapa)

I hope these help you as much as they helped me!


_this article is [cross posted to from johnpapa.net](https://johnpapa.net/11devopslinks/)_