GitLab CIpipe道与多容器kubernetes吊舱

这是可能build立一个configuration,其中将包括:

  1. GitLab项目#1 java容器
  2. GitLab项目#2 java容器
  3. Nginx容器
  4. Redis容器
  5. Cassandra容器
  6. Nginx出口商(Prometheus)
  7. Redis出口商(普罗米修斯)
  8. JMX出口商(普罗米修斯)x2

把所有这些放在一个kubernetes(GKE)上的多容器容器中,并通过共享容量和本地主机进行通信是非常重要的。

我已经使用初始容器在kubernetes中完成了所有这些工作(为了获取代码并编译它),现在我正在寻找使用CI / CD的方法。

所以,如果这可以通过GitLab CI来完成,那么请指点一下正确的文档或者手册页面,因为我是GitLab CI的新手,而且已经从互联网上的几十篇文章中迷失了自我。

提前致谢。

第一件事就是join所有的项目,这些项目应该用maven和(或者)dockerjoin到GitLab的一个共同的项目中。

接下来是将dockerfiles和docker build所需的所有文件添加到子项目文件夹中。

接下来在通用项目的根目录下,我们应该放置.gitlab-ci.yml和deployment.yml文件。

deployment.yml应该是通用的或所有的子项目。

.gitlab-ci.yml应该包含构build每个子项目的所有阶段。 由于我们不需要在每次修改sime文件的时候创build所有的东西,所以我们应该在git中使用标签来让GitLab CI了解,在这种情况下,它应该运行一个或者另一个阶段。 这可以通过参数来实现:

 docker-build-akka: stage: package only: - /^akka-.*$/ script: - export DOCKER_HOST="tcp://localhost:2375" ... 

等等在每一个阶段。 因此,如果您需要更改所需的Dockerfile或Java代码,则应该使用像akka-0.1.4这样的标签提交并推送到gitlab,而GitLab CI runner将只运行适当的阶段。

此外,如果您对README.md文件进行更改或进行其他更改,则无需构build该项目 – 它不会。

很多有用的东西,你可以find这里和这里 。

另外,看看这个问题 ,我面临在kubernetes中运行docker构build阶段。 这可能对我有帮助。