On 2010-02-25 03:44, Marica Tan wrote: > On Thu, Feb 25, 2010 at 4:48 AM, Dennis Lundberg <[email protected]> wrote: > >> On 2010-02-24 06:28, Marica Tan wrote: >>> On Tue, Feb 23, 2010 at 5:54 AM, Dennis Lundberg <[email protected]> >> wrote: >>> >>>> Hi >>>> >>>> We've got Continuum 1.3.5 set up properly on Red Hat EL4 now, with all >>>> projects building successfully. Next we wanted to turn on distributed >>>> build to have some projects built on Windows build agents. >>>> >>>> The local repo for a build agent running on the console on Windows ends >>>> up in C:\root\.m2\repository. This is an odd place for it since there is >>>> no user called "root". Is this configurable somehow? Perhaps a better >>>> default value should be used when running on Windows. >>>> >>>> >>> The default local repo is taken from the settings.xml. >> >> Is that ${user.home}\.m2\settings.xml for the user running the build agent? >> >> >> > Yes. > > >>> Instead of using the Default local repository, you can create a new one >> with >>> the correct value for windows and use it in your project group. >> >> Do you mean in the web UI of the Continuum master? >> >> Yes. > >>> >>>> Is it possible to add a settings.xml file for the build agent? We tried >>>> putting it in C:\root\.m2\ as well as ${user.home}\.m2 of the user >>>> running the build agent. Neither seems to works. >>>> >>> >>> Putting it in ${USER_HOME}/.m2 should work. Is there a settings.xml in >> your >>> ${M2_HOME}/conf? >> >> Don't know I'll have to check. I don't have access to that machine right >> now. At least we know where to out the file now, thanks. >> >>>> >>>> Are installations mapped between the master and the build agents? i.e. >>>> should the installations have the same name on both master and agents. >>>> How does the agent know which installations to use? >>>> >>>> >>> Installations in the build environment configured in the project will be >>> used by the build agent. >> >> But the build agent might not have the same installations as the master >> installed on its machine or perhaps it must. I'm probably >> misunderstanding how this works. I'll try with an example: >> >> Master installations: >> Java 1.5 >> Maven 2.0.10 >> >> Build Agent installations: >> Java 1.6 >> Maven 2.2.1 >> >> How is the build agent supposed to use the installations configured in >> the master? In the example above, the installations defined on the >> master don't exist on the build agent. Neither configured nor installed. >> >> Are the names of the installations of the build environment sent from >> the master to the build agents? >> >> > Currently, you can only view the available installations on the build agents > from the master's web ui. > > In order to use the build agent installations, you still have to create > those from the continuum master's web ui and then attached them to the build > environment. > > >>> >>>> As I said initially we had everything up and running nicely, until we >>>> turned on distributed builds. When we turned it on all builds were >>>> directed to the single configured build agent, even though only one >>>> project had been configured to use the use the "Windows Build >>>> Environment" that we had configured to hook up to the Build Agent Group. >>>> All projects failed, except the one that was configured to use the build >>>> agent. The build message was a single line of text in Swedish, the >>>> locale of the Build Agent's Windows OS. Freely translated it said >>>> "Cannot find the path". When we turn off distributed builds things are >>>> back to normal again and the projects build successfully on the Red Hat >>>> master again. >>>> >>>> >>> Do you have another build agent intended for your other projects? >>> >>> If the other projects are not configured with a build environment hook up >> to >>> a build agent group (which specify where they should build), then they >> will >>> be directed to any available build agent. >> >> All out projects have a configured build environment. We want some of >> the projects [W] to be built on a Windows machine, while the rest [L] >> should be built on the Continuum master running on Linux. >> >> We configured some projects [W] to use a Windows build environment which >> has a build agent group consisting of 1 Windows machine. >> >> The rest of the projects [L] use the same build environment that they >> used before we turned on distributed builds. It is not connected to any >> build agent group. Its build environment consists of installations on >> the Continuum master. >> >> Do we need to install and configure a build agent on the master as well? >> And configure the rest of the projects [L] to use a build environment >> that is connected to a build agent group consisting of that (master) >> build agent? >> > > Yes. When distributed build is enabled, continuum master will delegate all > build tasks to the build agents. So if you want to build the rest of the > projects in the same machine as the master, then you need to configure a > build agent on that machine.
That explains our problems. Thanks so much for explaining Marica. I think this should be in the docs somewhere. I'll see if I can write some text for it. Was this a design decision or was it just easier to implement distributed build this way? It seems to me that people that already have Continuum in production will have to do a lot of work to start using distributed builds. > >> >>>> Has anyone else experienced this? Is just a configuration mistake on our >>>> part or is it a bug? Let me know if you want me to create JIRAs for >> this. >>>> >>>> -- >>>> Dennis Lundberg >>>> >>> >>> Thanks, >>> -- >>> Marica >>> >> >> >> -- >> Dennis Lundberg >> > -- Dennis Lundberg
