【问题标题】:How to do continuous deployment of ad django app from travis-ci如何从 travis-ci 持续部署 ad django 应用程序
【发布时间】:2014-04-06 09:58:00
【问题描述】:

我有这个 travis 配置:

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

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

我不太明白怎么做。实现此目的最常见的方法是什么?

【问题讨论】:

    标签: django continuous-integration travis-ci continuous-deployment


    【解决方案1】:

    最常见的方法是通过travis-ci deployments,但问题是必须支持您的提供程序。

    after_success 是另一个选项,如果您的提供程序不受 travis-ci 支持。这样做的缺点是after_success 将在构建矩阵的每个构建上运行,因此您必须担心一次构建会触发多个部署。

    【讨论】:

    • 如果我想推送到专用服务器或 VPS 怎么办?是否有现有的开源解决方案可以缓解这种情况?
    • 你可以使用 Capistrano 之类的东西并在 Travis 工作线程上调用部署命令。
    猜你喜欢
    • 2016-01-12
    • 1970-01-01
    • 2016-09-14
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 2018-04-14
    • 2020-08-11
    • 1970-01-01
    相关资源
    最近更新 更多