Skip to main content
 首页 » 编程设计

docker之在我的 CI 管道中使用 docker-compose 与 codeship-services

2024年02月24日7lonelyxmas

我正在构建一个具有几个微服务的应用程序,并尝试使用Codeship构建CI/CD管道原型(prototype)Docker.

我对使用codeship-services.ymldocker-compose.yml之间的区别有点困惑。 Codeship 文档说 -

By default, we look for the filename codeship-services.yml. In its absence, Codeship will automatically search for a docker-compose.yml file to use in its place.

根据我的理解,docker-compose 可能更适合我的情况,因为我想同时为所有微服务启动容器以进行集成测试。如果我想串行而不是并行构建我的服务,codeship-services.yml 将会有所帮助。

我的理解正确吗?

请您参考如下方法:

您可以使用codeship-services.yml以与 docker-compose.yml 相同的方式。因此,您可以通过link定义您的服务并启动多个容器。关键。

我在我的 codeship-services.yml 中做了完全相同的事情。我对我的前端服务做了一些测试,当我通过 codeship-steps.yml 运行它时,该服务会启动所有依赖的服务(后端、数据库等)。 ,就像 docker-compose.yml 中一样.

一开始,我对有两个几乎相同的文件感到有点困惑。我实际上就这个问题联系了 Codeship 支持人员,答案是它可能是同一个文件(因为 compose 文件中的所有不可用功能都被忽略,请参阅 here ),但在几乎所有情况下,他们都发现更容易最后有两个单独的文件,一个用于 CI/CD,另一个用于运行 docker-compose。

对我来说也是如此,因为我需要很多仅适用于 CI/CD 的服务,例如部署或仅执行 cURL 测试的特殊测试容器。

我希望这对您有所帮助,并且不会让您更加困惑;)