Make a GeoNode release¶
Making a GeoNode release requires a quite complex preparation of the environment while once everything is set up is a really easy and quick task. As said the complex part is the preparation of the environment since it involves, the generation of a password key to be uploaded to the Ubuntu servers and imported in launchpad.
If you have already prepared the environment then jump to the last paragraph.
Before doing the release, a GeoNode team member who can already make release has to add you as a launchpad GeoNode team member.
Creating and importing a gpg key¶
A GPG key is needed to push and publish the package. There is a complete guide on how to create and import a GPG key
Preparing the environment¶
Make sure to have a Ubuntu 12.04 machine. Install the following packages in addition to the python virtualenv tools:
$ sudo apt-get install git-core git-buildpackage dbhelper devscripts
Get the GeoNode code (from master) in a virtualenv:
$ mkvirtualenv geonode $ git clone https://github.com/GeoNode/geonode.git $ cd geonode
Edit the .bashrc file and add the following lines (the key ID can be found in “your personal keys” tab:
export GPG_KEY_GEONODE="your_gpg_key_id" export DEBEMAILemail@example.com export EDITOR=vim export DEBFULLNAME="Your Full Name"
then close and:
$ source .bashrc
Type “env” to make sure all the variables are correctly exported
Set the correct git email:
$ git config --global user.email "firstname.lastname@example.org"
Register your credentials:
$ python setup.py register
Make the release¶
The followings are the only commands needed if the environment and the various registrations have already been done.
Make sure to have pulled the master to the desired commit. Edit the file geonode/__init__.py at line 21 and set the correct version.
Install GeoNode in the virtualenv (make sure to have the virtualenv activated and be in the geonode folder):
$ pip install -e geonode
Publish the package:
$ cd geonode $ paver publish
The last command will:
- Tag the release and push it to GitHub
- Create the debian package and push it at ppa:geonode/testing in launchpad
- Create the .tar.gz sources and push them to Pypi
- Update the changelog and commit it to master