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
- Go to
Manage Jenkins
>Configure Plugins
and installDotCi
plugin. - Go to
Manage Jenkins
>Configure System
and fill out required information under DotCi Configuration:
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 } )