Personal CI/CD

I have a number of personal projects with code scattered about, where if I want to include code from one project into another I generally either need to copy code or find more sophisticated ways to share.

After going through interviewing coop student candidates and seeing their projects and GitHub repositories (when provided) I realized that documenting the process and demonstrating the value you can get out of it would be substantial.

The motivation for me is to take my projects to a higher level of rigour and improve reuse. Furthermore, I want to automate builds, validation by content tests, notifications, etc.

I do use GitHub for storing my projects which are primarily in C# but I want to amp up my setup to another level. The feature I want are:

  1. Get my projects from GitHub
  2. Build them
  3. Run tests on them
  4. Post main branch builds to a NuGet repository
  5. Post main branch symbols to a symbol server
  6. Generate notifications to Slack (I have my own setup for the family) about build status.

I already have a machine I use locally for service-related work. Switching to Linux would be non-trivial due to some of the services being run.

So the following setup will be using Windows, but I don’t think it will be entirely dissimilar to Linux.

The software I’m looking at using for all of these are:

Anything else that comes up during setup will be documented along the way.

One thought on “Personal CI/CD

  1. Pingback: CI/CD Visual Studio Project Layout | Brent Scriver

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.