[ckan-dev] Automated CKAN deploys with Ansible

Álvaro Ortiz alvaro at populate.tools
Sat Mar 17 08:59:07 UTC 2018


Hi all,

Quick presentation as this is my first post: I'm Álvaro Ortiz from
Populate, a studio around civic engagement (transparency, participation,
media, open data, visualization...).

Recently we have deployed CKAN for a client, and during the process we used
Ansible to automate deploys. We have extracted the corresponding pieces and
open sourced this Ansible workflow.

This set of roles and scripts provides a framework when working on custom
developments of CKAN which involve setting up, developing and deploying
several extensions. The main issues it tries to solve are:

- Deploying releases of several CKAN extensions in a capistrano-like way.
Each of them coming from different origins:
  - Open source extensiones developed outisde your organization
  - Forked open source extensions adapted for our use case
  - Private extensions developed by your organization
- Ability to easily rollback a failed deploy
- Encapsulating Python packages dependencies for each of the deploys (we
used virtualenv for this), avoiding possible conflicts when releasing a new
version.
- Deploying some minor changes to the CKAN core we needed, without forking
CKAN.
- Deploying to several environments (production and staging), without
duplicating the tasks for each of this roles.

You can find the code here:
https://github.com/PopulateTools/ckanext-ansible-workflow

best
álvaro

-- 
Álvaro Ortiz
twitter.com/furilo

Populate / Tools for civic engagement
http://populate.tools

Gobierto: the open government platform
<https://medium.com/lets-populate/gobierto-the-open-government-platform-a00406428004>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okfn.org/pipermail/ckan-dev/attachments/20180317/0fece6b6/attachment-0002.html>


More information about the ckan-dev mailing list