如何配置Gitlab CI码头工具来测试不同的要求(语言环境,数据库等)?

时间:2017-11-13 17:08:29

标签: docker gitlab gitlab-ci gitlab-ci-runner

我正在创建一个使用Python,Mongo和Redis的API,我想使用Gitlab CI。

我是否必须构建具有所有这些要求的Dockerfile?或者有没有办法在.gitlab-ci.yml中编写一些指令并在Dockerhub中调用不同的图像?

2 个答案:

答案 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