DevOps

Source Code Control

There's no reason not to use a source code repository. If a developer has given you source code in a zip file, you need to put it source control. (Similarly, if you're using something other than Git, it's time to move to Git.) GitHub is the most popular one out there. You can use it for free, if you don't mind the rest of the world having access to your code. If you want private repositories, paid subscriptions start at around $7/month. You can also look at Azure DevOps which is free for up to 5 users.

As a very simple example, this web site's code is stored in a public GitHub repository. Feel free to take a look if you're new to Git or just want to look around. (This application is written as an ASP.Net Core MVC application, which is really overkill for what's mostly a static website, but this lets me add some demo functionality to show how some code features work.)


Continuous Integration/Continuous Development

Continuous Integration is the process of making sure that your code will build. (Building is turning source code into code that will execute.) If you have multiple developers working on a project, they need to frequently check in their code to the central repository and it will be "built" from there (eliminating scenarios where "it will build on my development computer but not his or hers"). An automated process can run tests, which improves code quality.

Continuous Deployment is an automated process to push new code out to production (or a test environment for human QA staff to work with) after it has successfully built, been tested, and approved. This is a good introductory video for how it works at Azure DevOps.

Azure DevOps makes it really easy to have your own private NuGet repository. Breaking your complicated software up into pieces and including them via NuGet (as opposed to including source code projects in your main project) makes testing and integrating much easier. Once you build and test that one piece of functionality, you can package it in your private NuGet repository and make it available to all your other projects.

Continuing the simple example, this site runs in an Azure App Service that is linked to the GitHub repository for Continuous Deployment. Every time code is checked into the Master branch of the GitHub repository, it automatically builds and deploys to Azure. You can read about this here. This article is old and the UI has changed a little bit, but it's still just this easy.


If you'd like to talk about incorporating DevOps in your organization, click here to schedule an initial consultation.