DotCi

Pre-Requisites

Mongo DB

Install mongodb in a location accessible to your Jenkins instance.

Github Application

Register an OAuth Application with GitHub to generate Client ID and Client Secret. The Authorization callback URL needs to be http://<YOUR-JENKINS-URL>/dotci/finishLogin

Configure Master

  1. Go to Manage Jenkins > Configure Plugins and install DotCi plugin.
  2. Go to Manage Jenkins > Configure System and fill out required information under DotCi Configuration:

dotci setup

Docker Slave

A slave that can build for docker build types, i.e. Docker Compose, must have the following installed in addition to required Jenkins software:

MongoDB indexes

  • Builds for project
db.run.ensureIndex( {projectId: 1 } )
  • Builds by number
db.run.ensureIndex( {number: 1 } )
  • Builds by Result and Project
db.run.ensureIndex( {projectId: 1, result: 1 } )
  • Builds for user
db.run.ensureIndex( {className: 1, 'actions.causes.user': 1, 'actions.causes.pusher': 1 } )
  • Builds capped for 30 days
db.run.ensureIndex( { "timestamp": 1 }, { expireAfterSeconds: 2592000 } )