This PR completes the configuration of Jenkins via the autopilot pattern, and includes fetching job definitions from GitHub and being able to build a container on Triton via our docker build support.
Done in this PR:
Split compose file so that it's easier to have a working local environment during development
Did some minor sprucing up of the Dockerfile so that the most frequently changed layers (i.e. config files) are last so we can take better advantage of layer caching.
Bumped Containerbuddy to 1.2.1 and force a check of the checksums.
Inject the Consul hostname into Containerbuddy at startup so we can use either links (for local development) or Triton CNS
Add our assert-the-world script (until I can replace a bunch of it with stuff from the updated Triton CLI)
Identify which creds we need to inject and design a way to do so.
Move first-run scripts into a Containerbuddy onStart handler.
sanity-checked the Docker build configuration done so far
building jobs persisted on GitHub
incoming web hooks are working for the job-building job
README update
Being left for phase 2:
get Nginx and TLS in front of it
work up how to sync jobs back to GitHub if modified in the web UI (unclear if we really want to support this)
Includes https://github.com/dekobon/triton-jenkins/pull/1, which @tgross described thusly:
/cc @dekobon