couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bastian Krol <bastian.k...@tu-dortmund.de>
Subject Re: Continuous Integration Redux
Date Wed, 01 Jul 2015 06:50:39 GMT
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

Mime
View raw message