如何在Gitlab CI / CD中启动Docker容器

时间:2019-09-04 14:58:35

标签: amazon-web-services docker gitlab amazon-dynamodb

我是Gitlab的新手(我只知道git的基本功能:pull,push,merge,branch ...)。

我正在使用通过docker run -p 8000:8000 amazon/dynamodb-local启动的本地DynamoDB数据库来对我的Python项目进行单元测试。因此,我必须在Gitlab CI / CD中启动此docker容器,以便我的单元测试正常工作。

我已经在gitlab网站上阅读了有关此主题的文档,但没有找到问题的答案,而且我知道我必须修改gitlab-ci.yml文件才能启动docker容器。

1 个答案:

答案 0 :(得分:1)

使用Gitlab时,您可以使用Docker-in-Docker。

.gitlab-ci.yml文件顶部

image: docker:stable

services:
- docker:dind

然后在测试阶段,您可以启动数据库并使用它。

unit_tests:
  stage: tests
  script:
  - export CONTAINER_ID=$(docker run -p 8000:8000 amazon/dynamodb-local)
  ## You might need to wait a few seconds with `sleep X` for the container to start up.
  ## Your database is now here docker:8000
  ## Run your tests here. Database host=docker and port=8000

这是我发现的最好方法,也是最容易理解的