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上調用部署命令。 –