autopilotpattern / jenkins

Extension of official Jenkins Docker image that supports Joyent's Triton for elastic slave provisioning
43 stars 10 forks source link

autopilot pattern implementation #2

Closed misterbisson closed 8 years ago

misterbisson commented 8 years ago

Includes https://github.com/dekobon/triton-jenkins/pull/1, which @tgross described thusly:

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)

/cc @dekobon

tgross commented 8 years ago

:+1: