我正在创建一个使用Python,Mongo和Redis的API,我想使用Gitlab CI。
我是否必须构建具有所有这些要求的Dockerfile?或者有没有办法在.gitlab-ci.yml中编写一些指令并在Dockerhub中调用不同的图像?
答案 0 :(得分:0)
是的,你应该。虽然这不是Gitlab特定的问题(因此也是答案),但它被认为是分离任务和功能的最佳实践(在Docker术语中;每个容器一个问题)。我不想将其称为微服务方法,但您应该考虑拆分所有流程。
帮助您的一些基本概念:
既然你提到了Python和API,我想你的应用程序是用Python编写的,你使用MongoDB和Redis作为持久数据存储?
看看官方Docker图片以及如何使用它们,这应该会让您的生活分裂问题变得更加轻松:
还有一个official Python image可以帮助您。只需添加您的应用代码即可开始使用!
答案 1 :(得分:0)
我发现你可以用 .gitlab-ci.yml 标签写一下:
- services:
- redis:4.0.2
- mongo:3.4.10
使用Dockerhub上的其他服务。
https://docs.gitlab.com/ce/ci/docker/using_docker_images.html#how-to-use-other-images-as-services