首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用修船机进行CI测试--用Kubernetes编写Jenkins

用修船机进行CI测试--用Kubernetes编写Jenkins
EN

Stack Overflow用户
提问于 2018-05-06 14:50:31
回答 1查看 934关注 0票数 1

现在似乎还没有解决这个用例的方法。我发现了与这个问题相关的其他问题:这里这里

我正在寻找能让我运行docker-compose的解决方案。我已经找到了docker,但不是因为运行docker-compose

我希望其他人已经有了这个用例,并找到了解决方案。

编辑:让我澄清我的用例:

  1. 当我检测到一个有效的触发器(即推到回购)时,我需要开始一个新的工作。
  2. 我需要设置一个具有多个docker/实例(docker-组合)的环境。
  3. 此环境上的实例需要访问git中的代码(挂载卷/用数据创建新映像)。
  4. 我需要在这个环境中运行测试。
  5. 然后,我需要从这些实例中检索结果(詹金斯要解析的JUnit测试结果)。

我遇到的问题是2和3.

对于2,在并行(多个作业)运行这个问题,因为对接上下文是共享的(坞内对接问题)。如果这在多个节点上运行,那么由于共享资源(例如端口),我会遇到冲突。我的解决办法是只将其限制在一个正在运行的实例上,并将其余的实例排队(对于CI来说并不理想)。

对于3,有一个问题,安装卷,因为对接上下文是共享的(对接-在码头问题)。我无法在作业中挂载我签出的代码,因为它不在负责运行我触发的对接器实例的主机上。我的解决办法是从模板中构建一个新映像,然后将代码复制到新映像中,然后将其用于测试(这很有效,但意味着我需要使用docker技巧来获取数据,这也不是理想的)。

EN

回答 1

Stack Overflow用户

发布于 2018-05-07 14:12:41

我认为更好的方法是使用纯Kubernetes资源直接由Kubernetes而不是通过docker-compose运行测试。

您可以使用kompose 实用程序将您的坞-组合文件转换为Kubernetes资源。

可能,您需要对转换结果进行一些调整,或者您应该手动将您的坞-组合对象转换为Kubernetes对象。可能的话,您可以只对多个容器使用工作,而不是部署+服务的组合。

无论如何,我绝对建议您使用Kubernetes抽象,而不是在Kubernetes中运行像docker-compose这样的工具。

此外,您仍然可以使用Minikube在本地运行测试,从而在您的PC上生成小型全合一集群。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50201010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档