我正在尝试使用Gitlab CI / CD构建CI管道。我的项目是一个基于Symfony的非常简单的API。为了创建一致的环境,我使用了四个非常简单的容器(nginx,PHP,MySQL和编写器)的docker-compose。我的.gitlab-ci.yaml看起来像这样:
stages:
- setup
setup:
stage: setup
before_script:
- docker-compose up -d
script:
- sleep 15
- docker-compose exec -T php php bin/console doctrine:schema:create
after_script:
- [...]
- docker-compose down
我遇到的问题是ci脚本不会等到docker-compose up -d
完成。为了绕过这个,我加入了这个愚蠢的睡眠。
有更好的方法吗?