continuum-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dennis Lundberg <denn...@apache.org>
Subject Re: Does distributed build really work?
Date Thu, 25 Feb 2010 21:46:09 GMT
On 2010-02-25 03:44, Marica Tan wrote:
> On Thu, Feb 25, 2010 at 4:48 AM, Dennis Lundberg <dennisl@apache.org> wrote:
> 
>> On 2010-02-24 06:28, Marica Tan wrote:
>>> On Tue, Feb 23, 2010 at 5:54 AM, Dennis Lundberg <dennisl@apache.org>
>> 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

Mime
View raw message