GitLab社区版-Docker支持

问题描述

我想知道社区版GitLab(由Self托管)是否支持CI流程,其中包括

  1. 创建docker容器(docker-compose或Dockerfile)
  2. 自定义Docker映像保存到GitLab中的Docker注册表中
  3. 集成ansible以管理配置项

我检查了他们网站的价格/功能比较部分,但是找不到此信息。想知道是否有其他正在使用此框架的堆栈溢出器可以帮忙。

谢谢

解决方法

您可以注册一个免费的GitLab CE帐户并尝试一下。这是我发现的:

Docker映像和注册表

GitLab CE带有程序包注册表(MavenNuGetPyPi等)和容器注册表(用于Docker图像)。但是,我认为GitLab不会为您的软件包提供免费存储。好处是可以完全集成到您的CI / CD管道中。您需要托管自己的服务器,如How to Build Docker Images and Host a Docker Image Repository with GitLab中所述。官方文档位于GitLab Container Registry

一旦设置了Docker映像/注册表,就可以配置GitLab CE在Docker容器中运行各种作业。就像在image的{​​{1}}字段中指定图像名称一样简单。这些图像将在VM或裸机上的名为gitlab-ci.yml的应用程序上运行。您可以在Runner / Runners / AWS中甚至在自己的笔记本电脑上设置自己的GCP,但是GitLab CE每月还提供{ {1}}。可以在https://docs.gitlab.com/runner/中找到有关设置GitLab Runners的说明。

Ansible集成

设置好docker映像/注册表和运行器后,就可以将Ansible二进制文件和依赖项存储在docker映像中。您可以从Azure中定义的作业的GCP部分执行剧本。 Using Ansible and GitLab a Infrastructure-for-Code。您可以阅读一些很棒的教程herehere