可以圈ci使用docker-compose来构建环境

Raj*_*thi 13 django circleci docker-compose

我目前在django应用程序中有一些服务,如db和web,而docker-compose用于将它们串在一起.

网络版本有这样的代码..

web:
  restart: always
  build: ./web
  expose:
    - "8000"
Run Code Online (Sandbox Code Playgroud)

web中的docker文件有python2.7-onbuild,因此它使用requirements.txt文件来安装所有必需的依赖项.

我现在使用圆形CI进行集成,并有一个像这样的circle.yml文件..

....
dependencies:
  pre:
    -  pip install -r web/requirements.txt
....
Run Code Online (Sandbox Code Playgroud)

无论如何,我可以避免圈yml文件中的依赖条款.

相反,我希望Circle CI使用docker-compose.yml,如果这有意义的话.

Tom*_*Tom 18

是的,docker-composecircle.yml文件中使用可以是一种运行测试的好方法,因为它可以非常接近地镜像开发环境.这是我们对AngularJS项目的工作测试的摘录:

---

machine:
  services:
    - docker

dependencies:
  override:
    - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
    - sudo pip install --upgrade docker-compose==1.3.0

test:
  pre:
    - docker-compose pull
    - docker-compose up -d
    - docker-compose run npm install
    - docker-compose run bower install --allow-root --config.interactive=false
  override:
    # grunt runs our karma tests
    - docker-compose run grunt deploy-build compile
Run Code Online (Sandbox Code Playgroud)

笔记:

  • docker login,如果你有搬运工枢纽私人图像时,才需要.
  • 当我们写circle.yml文件时,只有docker-compose 1.3可用.这可能现在更新了.