GitHub Container Registry was introduced on the 1st of September 2020. It’s still in the Beta stage, so it’s rather not recommended to use it in production. However, it offers us free private storage for our Docker images, at least until the end of the Beta period. Private storage, free and unlimited download… looks like a good enough option for local development. In this post, I’m going to configure my local Kubernetes cluster to pull images from my GitHub Container Registry.
This is a long title. Well, the post is going to be long as well. I want to show how you can set up the CI pipeline using free services and tools. GitHub GitVersion AppVeyor As an example I’m going to use my pet project: AsyncSuffix plugin for ReSharper. The reason is that the way you pack and publish R# extensions is slightly different from the regular NuGet package.
Look at all those famous people committing to some random developer’s boring repository. Why would they do that? In fact, they don’t. In general, git is just a tool that allows you to create patches and distribute them around by email. When you create a commit, it will be signed with your name and email. Look at the author part here: You have your name listed twice for every commit. You are both the author and the committer.
It’s very important to collect and track as much information as you can about your system. We have logging, monitoring, reports and analytics. All the systems that we build are not just packages, which are deployed to the server/computer or device. Everything starts with Issue Tracking system and through the code goes to production. The code and the process of coding both look like an important part of the system and it makes a lot of sense to collect and store all the data about code.
I use different accounts and different computers to work with GitHub repositories, so sometimes I face the situation when I don’t have my SSH key generated for the current environment. I can still work with my command line tool, however I have to type credentials every time I want to pull or push to the remote. Actually I’m fine with typing the password, but not the user name. So what can I do (besides generating new SSH key and adding it to my Git/GitHub account) is to update the remote to have my user name in it.