Last week was Hackweek on SUSE and for 2 days I hacked on Marcus' project "Dice - A light weight build service".
It was fun and Marcus code was very easy to understand, very well structured and with comprehensive tests.
Dice is a simple build service for KIWI
images using virtual instances controlled by vagrant or a directly
contacted build machine. It can be used to fire up build jobs
on e.g public cloud instances.
What that means is that you can do:
>dice build myimage
and that will either:
1- start a virtual machine on your workstation/laptop and build your image IN that virtual machine
2- connect to a virtual machine on the cloud (i.e. google cloud) and build your image IN that cloud virtual machine
And why all the trouble? the reasons:
1- setting up an environment for building images on your laptop/workstation can be sometimes paintful
2- running multiple builds on your laptop/workstation will make your host performance get low. Builds take time, thus you normally are doing something else meanwhile, and running the build on the cloud can be very good so that you can use your resources for something else
3- security: building an image implies running custom scripts. If you have done this scripts, fine, but if not, better not run it on your laptop/ws.
4- availability: having a build service on the cloud, makes it available to others that won't have to invest time on setting it up
During those 2 days, I just implemented the ssh command as:
> dice ssh myimage
which will open an ssh connection to the build node, either virtual machine on you laptop/ws or in the cloud, so that you can easily debug when a build fails.
October 31, 2014
Dice - A light weight build service
Posted by Jordi at 2:03 PM
Labels: dice, hacweek, software kiwi, SUSE
Subscribe to:
Post Comments (Atom)
1 comment:
Hi,
i tried to use dice tool, i have followed all the steps mentioned in the link "https://github.com/openSUSE/kiwi/wiki/Building-images-in-a-Docker-container". But when i run
"dice build /tmp/suse-13.1-JeOS" it is failing with below error.
dice build /tmp/suse-13.1-JeOS
[22634][suse-13.1-JeOS]: BuildSystem: Setting up Vagrant buildsystem
[22634][suse-13.1-JeOS]: Solver: Running package solver
[22634][suse-13.1-JeOS]: No solver information for package: pattern:base
[22634][suse-13.1-JeOS]: VagrantBuildSystem: Initiate shutdown...
[22634][suse-13.1-JeOS]: VagrantBuildSystem: ==> default: The container hasn't been created yet.
[22634][suse-13.1-JeOS]:
[22634][suse-13.1-JeOS]: Reset working directory
please let me know how we can debug dice.
Thanks & Regards,
Jagan
Post a Comment