Skip to content

Instantly share code, notes, and snippets.

@ndarville
Last active April 13, 2020 08:18
Show Gist options
  • Star 36 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save ndarville/3625246 to your computer and use it in GitHub Desktop.
Save ndarville/3625246 to your computer and use it in GitHub Desktop.
Django on Travis CI
"""A basic database set-up for Travis CI.
The set-up uses the 'TRAVIS' (== True) environment variable on Travis
to detect the session, and changes the default database accordingly.
Be mindful of where you place this code, as you may accidentally
assign the default database to another configuration later in your code.
"""
import os
# (...)
if 'TRAVIS' in os.environ:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'travisci',
'USER': 'postgres',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '',
}
}
# (...)
# A basic travis.yml boilerplate for Django projects
#
# The set-up assumes a postgreSQL database.
#
# Replace the following variables in the code:
# * your_project_settings
# * your_github_username
# * your_repo
language: python
python:
- 2.6
- 2.7
services: postgresql
env:
- DJANGO=1.4.1
before_install:
- export DJANGO_SETTINGS_MODULE=your_project.settings
- export PYTHONPATH=$HOME/builds/your_github_username/your_repo
- export PIP_USE_MIRRORS=true
install:
- pip install -r requirements.txt
- pip install django==$DJANGO --quiet
- pip install psycopg2 --quiet
before_script:
- psql -c "CREATE DATABASE mydb;" -U postgres
script:
- python manage.py syncdb --noinput
@ndarville
Copy link
Author

If you want a working example of this, check my pony-forum repo. The project name is subject to change eventually—obviously.

@gitgik
Copy link

gitgik commented Feb 5, 2016

python manage.py syncdb is deprecated in the newer Django version

@singhpratyush
Copy link

I had trouble building on travi-ci and this helped a lot. Thanks.

@jeffwillette
Copy link

Did any of you have trouble with travis trying to import manage.py instead of running it from a shell command?

I am getting an ImportErrror: no module named py

@SillyInventor
Copy link

I had to set:
export PYTHONPATH="/usr/local/lib/python2.7/dist-packages"

to get it to build.

@CryceTruly
Copy link

Someone update this gist. All the tools in the setup here have been updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment