Quilt CI
This repository contains a Quilt spec for a Jenkins deployment that tests Quilt.
It also contains a custom Docker image because we require some build tools and Jenkins plugins for our testing job.
Deploying
tester.js
contains a module that creates a Jenkins service. It requires some
configuration options to be passed in by the caller. An example is included at
tester-runner-example.js.
The required configurations are:
awsAccessKey
: The access key used by test daemon to boot machines.awsSecretAccessKey
: The secret access key used by test daemon to boot machines.testingNamespace
: The namespace used by the test daemon.slackChannel
: The Slack channel where build results will be posted.slackTeam
: The Slack team in whichslackChannel
is located.slackToken
: The token used for posting toslackChannel
.
The optional argments are:
passwordHash
: A Jenkins-compatible hash of the desired password for theadmin
user.- If this is not set, the
admin
user will have to be manually setup when accessing the Jenkins instance for the first time.
- If this is not set, the
jenkinsUrl
: The URL at which this Jenkins deployment will be able to be accessed.- If this is not set, the Jenkins URL will have to be manually setup in order for Slack notification links to work.
- This is usually a floating IP assigned to the Jenkins machine.
Configuring Slack
The Jenkins CI App needs to be enabled in the Slack team to which build notifications will be posted.
The slackToken
is generated by installing the app.
Manually Setting the Jenkins URL
If jenkinsUrl
is not set, we need to manually configure it for Slack
notifications to generate clickable links.
To do so, navigate to Jenkins -> Manage Jenkins -> Configure System
, and simply
hit Save
.