Gitlab CE with Runner in Docker and Docker Registry

Hello everybody! I have a project here with Gitlab CE, which went far beyond my experience with the tool. I’ve already implemented Gitlab CE a few times for internal projects in companies I worked at, but they generally just wanted to use it as a Git repository with a friendly interface for management, so it was much simpler, but now I have a very bigger.

I’m in a place where we need to use Gitlab CE self hosted, due to new security requirements from the company, but I was asked to be able to get Gitlab CI/CD to work, generating the Docker images that will be used in production and storing the same in Gitlab Registry, in the same way that one of the projects other than the main one is running on Gitlab.com.

In this case, I would like to know, if using GilabCE, I can use Runner and Container Registry normally, or just in Gitlab EE.

Furthermore, I would preferably like to use the deb packages for installation, but when researching, I saw that by default what comes in the pre-compiled packages has the Container Registry disabled by default, I wanted to confirm if that was the case.

I would appreciate it in advance if anyone who has already done this has a tip on where to start the installation process.

I use Gitlab-CE self-hosted, and I have the registry enabled to push images to my Gitlab-CE instance. I also have Gitlab Runners attached to it. So yes, it’s possible to do with with just CE.

EE does have some advantages, that if you enable telemetry, some additional features that normally would be paid are accessible as far as I remember. I can’t remember exactly what those features are, but I believe it can be found easily enough with Google. There are some posts already on this forum where it has been covered on what is additionally available with EE when telemetry is enabled.

But, you can do all what you want with with CE anyway.

2 Likes

Very good to know. So, did you install it through packages or how?

If so, how did you proceed with the installation? Did you have any material to configure all the steps or did you use the official documentation?

I used the official Gitlab documentation. They have an installation guide for Gitlab, using apt or rpm repositories to make things easier, especially upgrades when they are released. The Gitlab Runner was also installed using apt/rpm repositories and connected to Gitlab for CI/CD stuff. The official Gitlab docs also explain how to configure Gitlab to enable the registry as well.

2 Likes

I’ll try it this week then! Thank you very much!

1 Like

One question here, do I have to install Gitlab Runner or Gitlab Docker executor? I never installed this part and I was lost.

The container registry is working perfectly. \o/ Now I just need to really adjust the execution of CI/CD jobs.

I used this part of the documentation and it worked perfectly! I’m using registry.mydomain.com for the registry and git.mydomain.com for Gitlab, both on port 443.

Docs: Registration features program

You need to install GitLab Runner, and Docker for the executor on the same host. I recommend installing Runner on a separate VM, assigning more resources when necessary.

Guys, I’m just here to let you know that I can implement it!
I had to make some adjustments to my Pipeline, such as adjusting the environment variables below, as for some reason Gitlab Selhosted didn’t recognize them, but in the end everything worked out:
DOCKER_HOST
CI_REGISTRY

The process followed was:

1 - Install Debian 12, and install it from the Debian repository according to the documentation
2 - Make settings in the /etc/gitlab/gitlab.rb file for Gitlab (DNS used and things like that), Gitlab Registry, SMTP, etc.
3 - Install another VM with Debian 12 to run Gitlab Runner and then register it with Gitlab
4 - After registering Runner, I went to the Runner settings and marked it to run ANY pipeline, regardless of the TAG used, without this, some of my pipelines did not run

I believe that was it, despite the small text it took more than 20 hours of work to get it ready for work, but I believe it was worth it! Here’s a tip for everyone.

1 Like