Greetings fellow Jenkins users.

I have just pushed v0.4 of snowglobe-plugin for jenkins, I thought this is
the point at which it is possibly useful for others treading down the same
path as us.

We develop software which is shipped as Docker images, which is neat. But
what starts out as a simple 'docker run <image>' rather rapidly turns in to
a complex nest of dependent containers (database. config. monitoring.
logging. etc) - deployment, testing, demos all became somewhat harder, and
a long list of "commands to run".

Even the simple act of spinning up a test environment for automated UI
tests to run has become somewhat problematic.

After trying various different toolings, we started to roll our own as none
of them quite hit the sweet spot of 'configuration' against 'flexibility'.

I describe SnowGlobe as 'docker-compose on steroids', or 'terraform with
added DSL goodness'. If you have met either of those tools, this is heavily
influenced by them.

As it ships today, You can specify a network of resources as a "SnowGlobe".
When the specification changes (say a new docker image is pushed), you can
'apply' the changes and the system automatically calculates which items
need to be recreated.

The server itself ships as a docker image and can be controlled with the
jenkins plugin (or via REST calls).

We are actively using this for:

- Deploying every built pull-request into a docker host so that QA can
manually verify
- Deploying and configuring live customer configurations

We intend very soon to use it to

- Continuous deployment of systems (Blue/Green deployments) into test
- Continuous deployment of systems into live environments

SnowGlobe is Java, and more importantly Groovy based - it should be
relatively simple to extend (currently it has provisions for Docker and
Consul, but we are likely to add Vault and AWS features soon). This means
that the configurations can leverage the power of Java/Groovy (think
Jenkinsfile).

There is some in-progress documentation here:
https://nirima.github.io/SnowGlobe/
and a getting-started which gives some flavour:
https://nirima.github.io/SnowGlobe/docs/guide/getting_started.html

I am currently adding more documentation.

The server is functional, but not pretty - there are likely bugs, but it is
working. There are lots of features to be added (such as: committing each
change to a git repository, additional providers) and examples to be
written. If this is something that interests you please get in touch - pull
requests are welcome !

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/CAPYP83ToDWEEVm7BXfE2LzRN4wJyG9A_5Zf5NZ8%3D9AuRa9WX5A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to