持续集成
持续集成的目的,是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。由于我们的代码托管在github
上面,所以选择Travis CI来做持续集成是一个不错的选择。
要触发构建工作,需要在项目根目录下面添加一个.travis.yml
的文件:
sudo: required services: - docker env: DOCKER_COMPOSE_VERSION: 1.14.0 before_install: - sudo rm /usr/local/bin/docker-compose - curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose - chmod +x docker-compose - sudo mv docker-compose /usr/local/bin before_script: - docker-compose -f docker-compose.yml up --build -d script: - docker-compose -f docker-compose.yml run users-service python manage.py test - docker-compose -f docker-compose.yml run users-service flake8 project after_script: - docker-compose -f docker-compose.yml down
上面的脚本文件看上去还是很容易的,首先安装docker-compose
,然后在执行脚本之前构建镜像,然后执行测试、代码质量检测等操作,最后做一些清理工作。
然后我们登录Travis CI,在个人页面,确保将当前项目激活
然后我们可以提交代码,推送到GitHub
上,这应该会触发一次构建。然后我们同样的可以前往Travis CI
查看构建状态:
通过后,你最好能够添加一个Travis
的状态徽章在README.md
文件中,这样能让别人明白你的项目状态。
[![Build Status](https://travis-ci.org/cnych/flask-microservices-users.svg?branch=master)](https://travis-ci.org/cnych/flask-microservices-users)
就目前来说,虽然我们的项目还相对比较简单,但是基本上我们的工作流已经能够跑得非常顺畅了:
- 本地编码
- 提交推送到
GitHub
- 通过
Travis
来完成自动化测试