Hacker News new | past | comments | ask | show | jobs | submit login

Yeah, version control of Jenkins itself has always scared me. There seems to be a pattern that we go through.

(in the beginning, there was light...)

* Create a small, tight, single-purpose Jenkins job

* Add a small tweak to it

(repeat adding tweaks)

(realize the Jenkins job now contains MANY different configurations options and the job itself is now a shell script in its own right)

* Sweep the "job" into a shell script. Check in said shell script

* Back up the Jenkins config, and hope no one asks why something's happened.

I now have a plugin that automatically checks in the Jenkins config to source control, but it again doesn't solve the problem of matching up a particular jenkins artifact to exactly what built it, and why.




We use Netflix's Job-DSL to keep Jenkins job configuration in source control (and to allow easier reuse than offered with job reuse plugins).

https://github.com/jenkinsci/job-dsl-plugin


I use http://docs.openstack.org/infra/jenkins-job-builder/, which is great as well: Jenkins configuration in a simple YAML file under source control.


Apache Bigtop relies on this, and does a pretty spiffy job of configuring itself out of the box this way.

Will look more closely...


We're using this as well, it's got warts but it's 100x better than authoring jobs in the web ui.


At my work we're running all Jenkins jobs in Docker containers using some simple scripting [1].

Works really great. Jobs can run on any slave, no snowflakes, full CI config is versioned in the repo along with the code. Jenkins job only point to a single script and that's it.

[1] https://github.com/kabisa/jenkins-docker



I think you would find Concourse to be a very appealing alternative; out of the box it gets you a lot closer to reproducibility than Jenkins does.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: