是否可以设置配置,包括:
将所有这些放在kubernetes(GKE)上的一个多容器pod中并通过共享卷和localhost进行通信非常重要。
我已经使用初始容器在kubernetes中完成了所有这些操作(以获取代码并进行编译),现在我正在寻找使用CI / CD进行此操作的方法。
所以,如果可以使用GitLab CI完成,请将您指向正确的文档或手册页,因为我是GitLab CI中的新手,并且已经在几十篇文章中迷失了自己来自互联网。
提前致谢。
答案 0 :(得分:1)
首先要加入所有项目,这些项目应该使用maven和(或)docker构建到GitLab的一个公共项目中。
接下来是将dockerfiles和docker build所需的所有文件添加到子项目文件夹中。
接下来在公共项目的根目录中,我们应该放置.gitlab-ci.yml和deployment.yml文件。
deployment.yml应该是通用的或所有子项目。
.gitlab-ci.yml应该包含构建每个子项目的所有阶段。因为我们不需要在每次对sime文件进行更改时都构建所有的东西,所以我们应该使用git中的标签来理解GitLab CI,在这种情况下它应该运行一个或另一个阶段。这可以通过only
parameter实现:
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文件或任何其他更改进行了更改,那么不需要构建项目 - 它不会。
另外,看看problem,我面临在kubernetes中运行docker build阶段。这可能对我很有帮助。