Hey folks!
So let's try to get this discussion started. I'll just throw in some
half baked ideas here :-)
I really like the idea of having all the setup of the Jenkins machines,
especially the slaves, as code in Ansible or something similar. We need
to decide on a tool here. Obvious candidates are Ansible, Puppet and
Chef. I definitely prefer Ansible over the other two (having worked both
with Ansible and Puppet, but not Chef). However, for some tasks (like
installing packages) Puppet offers a slightly higher level of
abstraction than Ansible. This could have advantages when supporting a
lot of OSes in the end. Opinions?
I also would like to be able to spin up these boxes locally as a virtual
box to test them. In another projects we did this by combining Ansible
with Vagrant, we also used Veewee (https://github.com/jedi4ever/veewee)
to configure the base boxes. I could come up with a similar setup for
the first box relatively quick, I think.
If everything is scripted and automated, it is also much easier to
switch from one infrastructure to another.
BTW, where could we put this code? I believe the ASF has its own git
infrastructure, right?
One thing I'm really unsure right now: Does our "vision" align with
ci.apache.org? From what I read at http://ci.apache.org/#jenkins /
https://builds.apache.org/ there seems to be a certain gap, namely:
* They do not have all OSes that we would like to support in the end,
for example Ubuntu seems to be the only Linux flavor. OTOH, they do have
quite a few (Solaris, FreeBSD, some Windows).
* How would installing different versions of Erlang work with
infrastructure that we (the CouchDB project) do not control completely?
* The Jenkins machines and the slave seem to be maintained manually, so
if we want to do a fully automated set up of the build/test slaves
(like, with Ansible) this might be a conflict.
All these are just guesses and speculations, so, of course, we really
need to talk it through with the ASF Infra/CI team. I would like to talk
to them *after* we have come to a shared understanding of what we want
to do.
Best regards
Bastian
|