-1

I would like to know if the community edition of GitLab (Self hosted) has support for a CI process that would include:

  1. Creation of docker containers (docker-compose or Dockerfile)
  2. Save custom docker images to a docker Registry in GitLab
  3. Integrate ansible To manage configuration items

I checked the pricing / feature compare section of their website but I wasn’t able to find this info. Wondering if any fellow stack overflowers that are using this framework already can help out.

Thanks

dot
  • 14,928
  • 41
  • 110
  • 218

1 Answers1

0

You can sign up for a free GitLab CE account and try it out. Here's what I found:

Docker Images and Registry

GitLab CE comes with a Package Registry (Maven, NuGet, PyPi, etc.) and Container Registry (for Docker images). However, I don't think GitLab will provide free storage for your packages. The benefit is full integration in your CI/CD pipeline. You'll need to host your own server, as described in How to Build Docker Images and Host a Docker Image Repository with GitLab. The official docs are at GitLab Container Registry.

Once you've setup your Docker images/registry, you can configure GitLab CE to run various jobs in Docker containers. It's as easy as specifying the name of the image in an image field in gitlab-ci.yml. The images will run on an application called a Runner on a VM or bare metal. You can setup your own Runners in AWS/GCP/Azure or even on your own laptop, but GitLab CE also provides 2000 free pipeline-minutes per month hosted on GCP. Instructions for setting up GitLab Runners can be found at https://docs.gitlab.com/runner/.

Ansible Integration

Once you get your docker images/registry and runners set up, you can store the Ansible binaries and dependencies in the docker images. You can execute the playbooks from the script section of a job defined in gitlab-ci.yml. Using Ansible and GitLab a Infrastructure-for-Code. You can read some great tutorials here and here.

DV82XL
  • 5,350
  • 5
  • 30
  • 59