管道GitHub - > Travis CI - > Docker

问题描述:

我有一个github-repository,即链接到automated build on Docker。因此,在每次提交master-branch时,docker都会触发构建Docker-image。管道GitHub - > Travis CI - > Docker

此外,每个提交自动测试Travis CI

我的问题是:有没有什么办法只有在travis成功完成时才触发Docker?我需要某种webhook或类似的东西来实现我的目标吗?

+0

你有没有读过https://docs.travis-ci.com/user/docker/?我想你可以从CI方面做到这一切。 – jonrsharpe

在存储库被推送后,您可以触发Travis CI测试。然后,在deploy step中,您可以触发Docker构建。或者甚至可以在Travis内部构建,然后将图像推送到您正在使用的存储库。

特拉维斯有一个很好的概述如何使这个流程发生here

要点是你需要有sudo: required,所以你要在虚拟机中运行而不是在Docker中运行,就像在Travis中的标准方式一样。您还需要添加docker作为服务,就像您为集成测试添加redispostgres一样。 Pushing Docker Image to a Registry部分有很多关于设置实际部署的信息。我会用deploy步骤与script提供商一起使用,而不是after_success,但这取决于您。