首页 > 解决方案 > 不同 Docker Compose 服务的相同项目名称

问题描述

我已经在 J​​enkins 中实现了 CI。在每次提交时,它都会构建容器,运行测试,然后停止并销毁容器。

 docker-compose -p project_name build php
 docker-compose -p project_name run --rm php bin/phpunit --group=unit
 docker-compose -p project_name stop
 docker-compose -p project_name down

可能会发生这样的情况,我将推送一个提交,然后在一分钟内提交另一个。所以第一个容器将在第二个容器启动时运行。

所以,我的问题是:第一个 Jenkins 任务的停止和关闭操作是否会停止并销毁在第一个容器之后启动的第二个容器?

我应该为每个 Jenkins 构建使用不同的项目名称,还是可以为所有构建使用相同的项目名称?

谢谢你

标签: dockerjenkinsdocker-compose

解决方案


常见情况,为避免可能的冲突,在项目名称中包含提交 ID 或任何其他唯一标识符。我们使用具有以下配置的 gitlab:

docker-compose -p "myproject-${CI_JOB_NAME}" ... up --force-recreate  --remove-orphans

推荐阅读