Hi, I am currently in search of a modern CI/CD system that can use e.g. vagrant to isolate the build machines. I would first like to describe what I mean by this and then would try to come up with an idea how that could be done in go.cd. Maybe there are people who have done something similar and can chip in and give some insights if it is feasible in go.cd.
Currently I need to compile a program with Visual Studio msvc and therefore I need a build machine (agent) which runs under windows. To now isolate and make this build environment reproducible I would like to create a script which can generate a vagrant box using a base windows image, install msvc and some dependencies and freeze this box. After that I would like to use go.cd to spawn for each job it executes a fresh vagrant box. Unfortunately it seems go.cd does not provide such a mechanism. So for now my idea is the following. Create a vagrant box containing windows, msvc etc. the go.cd build agent and the settings for autoregister. On my big build machine I would then run a script which creates in a loop new vagrant instances up to a certain amount and deletes vagrant instances that have been shut down. This would allow me to always have a couple of build agents ready to process new jobs. To now be fully reproducible I need to make sure that after a job execution in a vagrant box the box is not used a second time. For this I would add to any job a final task which shuts the vagrant box down. Does this sound like a reasonable approach? My biggest gripe with it is that I have to add a shutdown task at the end of every job. I would rather like to have this setting as part of the build agent. Any idea how I could do that? I would also rather like to have a plugin in go.cd which does the spawning of new vagrant boxes on a build agent directly without a custom script. Any ideas and pointers how to achieve something like this would be great. And also if someone wants to works on this idea which me and mentor me creating a solution in this direction. Kind regards, Fabian -- You received this message because you are subscribed to the Google Groups "go-cd" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
