Enable Docker registry CI/CD

I’m trying to find the right incantation to enable GitLab CE CI/CD for building
Docker images on GitLab version 13.4.3-ee (fd96f779e9d)

When viewing the project, I can see down the left-hand side that there is a
‘Packages & Registries’ tab but it doesn’t contain any options for a registry.

I’m just getting started with CI/CD for Docker, I’d read that the GitLab Docker
registry had some limitations and ideally I’d like to push to our existing
internal registry, whether that’s part of the build workflow or at the end.

None of the articles I’ve found seem to cover how to enable it and point to
menu options I don’t have in my version. It doesn’t seem Docker registry CI/CD
is an enterprise only feature though.

In the /etc/gitlab/gitlab.rb file I tried the settings at the end of this post, but after doing this and gitlab-ctl reconfigure GitLab wouldn’t start.

Is there a link to a document on how to enable this feature or can someone help with sane values for the following, assuming that;

  • My internal Docker registry is located at myregistry.local:5000
  • My GitLab is available at mygitlab.local
registry_external_url 'https://mygitlab.local:5000'
### Settings used by GitLab application
gitlab_rails['registry_enabled'] = true
gitlab_rails['registry_host'] = "registry.mygitlab.local"
gitlab_rails['registry_port'] = "5005"
gitlab_rails['registry_path'] = "/var/opt/gitlab/gitlab-rails/shared/registry"

### Settings used by Registry application
registry['enable'] = true
registry['dir'] = "/var/opt/gitlab/registry"
registry['registry_http_addr'] = "mygitlab.local:5000"
registry['log_directory'] = "/var/log/gitlab/registry"
registry['log_level'] = "info"
registry['rootcertbundle'] = "/var/opt/gitlab/registry/certificate.crt"
registry['storage_delete_enabled'] = true

Hello,

Can you can view the Container Registry for a project or group?

  1. Go to your project or group.
  2. Go to Packages & Registries > Container Registry .

If you cannot, please review the documentation to enable it in this link.

After you enable it you can push images using Docker commands (see instructions in this link).

I hope this will help.

Thanks, I’d missed that bit.

I have now installed a registry locally (even though I’d rather use the external registry, if that’s possible) however issuing gitlab-ctl reconfigure breaks GitLab with the options I’ve laid out.

The article talks about editing a gitlab.yml file if you built from source - I didn’t build from source, I used the packaged version for CentOS and can only find /etc/gitlab/gitlab.rb

Your configuration has:

registry['registry_http_addr'] = "mygitlab.local:5000"

But you say that your registry is located at:

myregistry.local:5000

Could that be it?