Creating a New Project¶
Github¶
To create a new project simply copy the DKAN Starter github repository and create a new project in Github.
ProboCI¶
CircleCI¶
Sign up¶
Sign up for a CircleCI account. Enable the project you just created in Github by clicking “Add Projects” and following the instructions.
Project Settings¶
Configure the following settings in the CirlceCI project settings section.
Build Environment¶
Select Ubuntu 14.04 (Trusty)
as the Ubuntu version.
Adjust Parallelism¶
We recommend at least 3x.
Environmental Variables¶
Add an AWS Key and ID that will allow you to retrieve S3 files from you AWS account. If you have a different solution for storing and retrieving backups.
AWS¶
Sign up for an Amazon Web Services account. Create a user that has access to access private S3 buckets.
Update your repository to include the AWS S3 url in the config/config.yml
file.
Jenkins¶
We use Jenkins for our automated tasks including backups. We employ Jenkins jobs for the following:
- Backups to S3
- Acquia purge job
- Cron runs
- Data.json caching
- Datastore queue
We will share the actual jobs for this soon.
At the least you need a mechanism for providing pruned and sanitized backups for your site to S3 or another mechanism to do so.
You can simply setup the ahoy utils asset-download-db
job to download directly from your production instance for local development, ProboCI, and CirlceCI; however, we recommend using a pruned and sanitized version of your database for these services.
Custom Site Configuration¶
There are a number of configuration steps that are captured in the config/
folder.
For details see Custom Site Configuration.
Docker¶
See the Docker for details on setting up and using Docker.
Once you have setup the rest of these services, developers simply need to run:
$ docker-machine start default; eval "$(docker-machine env default)"
This sets starts docker.
$ ahoy docker up
Running this inside your project docroot starts the docker containers for your project.
$ ahoy site up
Running this inside your project docroot:
- Adds
docroot/sites/default/setting.docker.php
which adds settings to connect your DKAN site to your docker containers - Downloads a local copy of your database in the
backups/
folder - Downloads a local copy of your files if setup in
config/config.yml
- Runs an “Environment switch” and sets your environment to “local”
- Runs other deployment tasks as defined in
hooks/commands
andconfig/settings.custom.php