Post/Code

HomeAboutUsesNow

Azure DevOps.

We host one of our applications on an Azure App Service. The project is deployed manually (not ideal). As a result, I have been looking into options for running builds.

Keeping in mind we are a corporate company, with some restrictions around 'blueprint'. Typically, we use Jenkins as a CI solution, however, this is typically hosted within our network. Additionally, CIaaS (CI as a Service) that is offered internally, is limited in scope to our Java or C# projects. As a result, our solution is not quite suited to purpose since we need to deploy outside the network and likely need to manage our own dependencies outside the corporate Nexus repo.

Since we already host on Azure, and use VS Code, I was curious to see what the recently re-branded Azure DevOps (formerly known as Visual Studio Team Services), would have in store. What I found was interesting and compelling:

  • Free up to 5 users with 1800 build minutes per month.
  • Unlimited repos (private or public)
  • Despite the name, Azure DevOps is not limited to Azure but can deploy to AWS or GCP as well.

Since we already have an existing Azure account, I signed up, what I found was surprising. But, first, some background:

About two years ago, our company started making use of the Atlassian suit of products, namely: Jira, Confluence and most importantly BitBucket. As such, we moved away from our very old and ungainly ticketing system as well as migrated from Subversion (Tortoise SVN) towards Git.

However, we did not take up Bamboo, Atlassian's CI product. Additionally, we stuck to using HP ALM for testing and defect management along with Nexus for dependency management.

Logging into Azure DevOps, I was greeted with a pleasantly laid out hub design, presenting an ever-present side-menu containing the following items (which equate to more or less comparitive competitor products):

  • Wiki (+- Confluence)
  • Repos (+- BitBucket)
  • Boards (+- Jira)
  • Pipelines (+- Bamboo/Jenkins)
  • Test Plan (+- XRay)
  • Artefacts (+- Nexus)
  • Marketplace (for integrations into other things)

To my eyes, this is a pretty compelling product and competes directly with Atlassian's toolkit. Considering the easy integration options into Azure, I was convinced to give it a shot. As a result, I decided to forge ahead and migrated our master branch into Azure Repos and set about building up the pipeline.

More to follow in a future post...