Currently we are not doing any tests for the Hawkular Metrics docker
images and kubernetes configurations. This is something we really need
to address.
We are currently using Travis which doesn't provide a nice solution for
this space. Fabric8 has a good setup for testing kubernetes components
with their Continuous Delivery suite (which uses Jenkins), but requires
a machine to be setup running docker (+ OpenShift) to deploy its suite
of docker images.
With a fabric8 continuous delivery setup, we can also remove the docker
hub automated builds and build them as part of maven build. This would
allow us to:
1) only publish docker images if the test suites pass on them (with
docker hub we would have to publish the images first and then run tests).
2) to manage all the code in one spot without having to modify it in
multiple locations (currently its managed in 3 different github repos
which need to be synced together).
3) have a lot more control over images and how they are tagged.
Currently docker hub is restrictive in how we handle this.
[Note: we would still be publishing out images to docker hub for others
to consume, we would just be pushing the images that our test suite
builds rather than ones build in docker hub itself. It also means we can
publish to other repositories if we wish]
Anyone know if we have any machines available to setup an environment
for these types of tests?
We could move the container stuff out of Hawkular Metrics and into its
own git repository (which might make sense, since the Cassandra stuff is
not necessarily metrics specific). This would mean that we don't need to
move all the tests over to Jenkins and we could keep the current Metrics
tests in the same CI.
Or it could be configured to only build the docker images and not all of
Metrics (via profiles).
Anyone have any thoughts on this?
Thanks,
Matt