gpt4 book ai didi

testing - 在开发容器运行时运行 docker 集成测试容器

转载 作者:行者123 更新时间:2023-11-28 20:28:55 25 4
gpt4 key购买 nike

我有一个看起来像这样的 Makefile:

dev:
docker-compose up -d --build

test:
DOCKER_ENV="-test" docker-compose up -d --build
// run some integration tests on the containers then
// shut them down (and let ephemeral database disappear)
DOCKER_ENV="-test" docker-compose down -v

我的 docker-compose 看起来像这样:

services:
foo:
container_name: foo${DOCKER_ENV}
image: foo:latest
bar:
container_name: bar${DOCKER_ENV}
image: bar:latest

当我尝试运行 make dev 然后 make test 后者导致开发容器用新名称(“-test”)重建而不是创建一整套独立的容器——这就是我想要的。

如何让开发环境保持运行并定期启动测试环境? (我们会在某个时候在 CI 上执行此操作,但我希望开发人员能够在本地运行所有测试。)

最佳答案

使用 docker-compose 项目名将 dev 和 test 分开,例如:

dev:
docker-compose up -d --build

test:
export DOCKER_PROJ=`basename \`pwd\``"-test"
docker-compose -p ${DOCKER_PROJ} up -d --build
// run some integration tests on the containers then
// shut them down (and let ephemeral database disappear)
docker-compose -p ${DOCKER_PROJ} down -v

(我的 Makefile 语法有点生疏,我相信有更简洁的方法来做到这一点。)

关于testing - 在开发容器运行时运行 docker 集成测试容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39024671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com