Amazon web services 如何在Gitlab CI/CD中启动Docker容器
我是Gitlab的新手(我只知道git的基本特性:拉、推、合并、分支……) 我正在使用一个由docker run-p8000:8000 amazon/DynamoDB local启动的本地DynamoDB数据库来对我的Python项目进行单元测试。因此,我必须在Gitlab CI/CD中启动这个docker容器,以便我的单元测试工作Amazon web services 如何在Gitlab CI/CD中启动Docker容器,amazon-web-services,docker,gitlab,amazon-dynamodb,Amazon Web Services,Docker,Gitlab,Amazon Dynamodb,我是Gitlab的新手(我只知道git的基本特性:拉、推、合并、分支……) 我正在使用一个由docker run-p8000:8000 amazon/DynamoDB local启动的本地DynamoDB数据库来对我的Python项目进行单元测试。因此,我必须在Gitlab CI/CD中启动这个docker容器,以便我的单元测试工作 我已经在gitlab网站上阅读了关于这个主题的文档,但没有找到问题的答案,我知道我必须修改我的gitlab ci.yml文件才能启动docker容器。使用gitla
我已经在gitlab网站上阅读了关于这个主题的文档,但没有找到问题的答案,我知道我必须修改我的
gitlab ci.yml
文件才能启动docker容器。使用gitlab时,可以在docker中使用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
这是我找到的实现它的最好方法,最容易理解的Docker中的Docker是您正在寻找的工作,但是如何在软件后执行测试?在我的特殊情况下,我需要使用maven执行测试(测试使用的是本地dynamodb),但是映像
docker:stable
不包含maven,因此/bin/sh:eval:line 87:mvn:not found
在管道上失败。如何解决?