Package: dreipol-django-fagungis
Introductiondjango-fagungis allow you to easy setup and deploy your django project on
your linux server.
django-fagungis will install and configure for you:nginxgunicornsupervisorvirtualenvPatches are welcome! Feel free to fork and contribute to this project on:bitbucket:bitbucket.org/DNX/django-fagungisgithub:github.com/DNX/django-fagungisInstallationThere are a few different ways to install Fagungis:Using pipIf you have pip install available on your system, just type:pip install git+https://github.com/damianmoore/django-fagungis.gitIf you’ve already got an old version of Fagungis, and want to upgrade, use:pip install -U git+https://github.com/damianmoore/django-fagungis.gitInstalling from a directoryIf you’ve obtained a copy of Fagungis using either Git or a downloadable
archive, you’ll need to install the copy you have system-wide. Try running:python setup.py developIf that fails, you don’t havesetuptoolsor an equivalent installed;
either install them, or run:python setup.py installHow to use fagungis?If you have already installed Fagungis, you must proceed with the
configuration of your project.ConfigurationFirst of all you must configure your project task settings. To do this we
have prepared for you an example file inpath/to/fagungis/example_fabfile.pyso you can create a copy of this file and modify it according to your
needs.You can find also an online version ofexample_fabfile.pyhere:https://raw.github.com/damianmoore/django-fagungis/master/fagungis/example_fabfile.pyPlease pay attention to not have any tasks in your fabfile.py called:setupdeploytest_configurationhg_pullgit_pullremovebecause these names are reserved by Fagungis.Test your configuration first!Fagungis come with its own automatic configuration tests. Each time you runsetupordeploytask, configuration tests are called.
Anyway, you can manually run these tests for your project configuration:fab project_name test_configurationIf you runtest_configurationmanually, you’ll observe some output about all your project settings.Do you need an example?OK, let’s assume you want to configure your django project called “simpleproject”.
So, what do we know about it?
We know:the project is calledsimpleprojectthe git repository ishttps://github.com/damianmoore/django-simple-project.gitthe IP of the server where you want to host it is:88.88.88.88you want to use the domainsimpleproject.orgwhich points to 88.88.88.88OK, it’s enough to configure and deploy your project, let’s do it!
Clone example_fabfile.py:cp path/to/fagungis/example_fabfile.py path/to/projectus/fabfile.pyor:wget -O fabfile.py https://raw.github.com/damianmoore/django-fagungis/master/fagungis/example_fabfile.pyNow apply some changes to earlier cloned fabfile.py file in your project root:change task name:# from:
@task
def example():
# to:
@task
def simpleproject():change project name:# from:
env.project = 'example_production'
# to:
env.project = 'simpleproject'change repository:# from:
env.repository = 'https://bitbucket.org/DNX/example'
# to:
env.repository = 'https://github.com/damianmoore/django-simple-project.git'change repository type:# from:
env.repository_type = 'hg'
# to:
env.repository_type = 'git'change server IP:# from:
env.hosts = ['root@192.168.1.1', ]
# to: (or whatever the address of your server is)
env.hosts = ['root@88.88.88.88', ]change nginx server name:# from:
env.nginx_server_name = 'example.com'
# to:
env.nginx_server_name = 'simpleproject.org'not, let’s test our configuration:fab simpleproject test_configurationyou must see a message:Configuration tests passed!Setup your projectAssuming you’ve configured your project now you are ready to launch the setup:fab simpleproject setupduring this process you can see all the output of the commands launched on
the server. At some point you may be asked for some information as django
user password(if django user did not exist before) or repository password to
clone your project.
At the end of this task you must view a message saying that the setup
successful ended.
Now you can go on with the deployment of the project.Pleasetest manualy the setup at least at the first time following
this guide::https://bitbucket.org/DNX/django-fagungis/wiki/Setup_testDeploy the projectAfter you’ve run the setup you’re ready to deploy your project. This is as
simple as typing:fab simpleproject deployAs for setup you may be asked for some info during the deployment.
At the end you must view a message saying that the deployment successful
ended.
Set the IP address of your server to simpleproject.org in your /etc/hosts file.
Now navigate tohttp://simpleproject.orgin your browser and assure that
everything is OK.How to test fagungis?Pleasetest all operations manualy, at least at the first time, following
this guide:https://bitbucket.org/DNX/django-fagungis/wiki/Setup_testThis will increase your confidence in usingfagungis.