0

做的广告Django应用程序的持续部署有这样的特拉维斯配置:我如何从特拉维斯-CI

language: python 

services: 
    - postgresql 

python: 
    - "2.7" 
    - "2.6" 

env: 
    - DJANGO="django==1.6.2" 

branches: 
    only: 
    - master 

# command to install requirements 
install: 
    - pip install $DJANGO 
    - pip install -r requirements.txt --use-mirrors 
    - pip install -r networking_requirements.txt --use-mirrors 
    - pip install coverage coveralls --use-mirrors 
    - python setup.py install 

before_script: 
    - psql template1 -c 'CREATE EXTENSION hstore;' 
    - psql -U postgres -c 'CREATE DATABASE nodeshot_travis;' 
    - psql -U postgres -d nodeshot_travis -c "CREATE EXTENSION postgis;" 
    - psql -U postgres -d nodeshot_travis -c "CREATE EXTENSION postgis_topology;" 
    - cd tests 
    - python manage.py syncdb --noinput 
    - python manage.py migrate --noinput 
    - python manage.py runserver 0.0.0.0:8000 & 

# command to run tests, e.g. python setup.py test 
script: 
    - coverage run --source=nodeshot runtests.py 

after_success: 
    coveralls 

而且成功后,我想升级现有的测试服务器(一个或多个)。

我还没有很好地理解如何。完成这个最常用的方法是什么?

回答

1

最常见的方式做,这是通过travis-ci deployments,但美中不足的是,你的供应商,必须支持。

after_success是另一种选择,如果您的提供商不被特拉维斯-CI支持。这样做的缺点是after_success将在构建矩阵的每个版本上运行,因此您必须担心在一个版本中触发多个部署。

+0

如果我想推送到专用服务器或VPS,该怎么办?有没有现成的开源解决方案可以缓解这一点? – nemesisdesign

+0

您可以使用[Capistrano](http://capistranorb.com)之类的东西,并在Travis worker上调用部署命令。 –