You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Morgan Fletcher <mo...@hahaha.org> on 2015/05/28 18:54:13 UTC

Snapshot artifact differentiation

We often have a virtual machine for each developer, where they can deploy
code from their own branch (foo) for testing, in a continuous manner. These
virtual machines use a configuration management tool to pull binaries from
a remote drive, built by a continuous integration build server. The code is
built by maven 3.

We use classic maven versioning, i.e. X.Y-snapshot.

A developer wants to be able to recycle their virtual machine with the
latest code. The virtual machine only knows to get the binaries based on
the version coded into its configuration management instructions, from the
remote drive. Previously we had allowed folders to have the branch name
(foo), but now we have switched to a strict maven model where branch names
are not stored in the remote drive.

The developer branch foo will eventually be merged into the shared branch
that all developers consume, and which is deployed to canonical systems in
a test environment.

In this scenario, how would you recommend the developer either name, or
deliver their binaries to their own virtual machine, so that they don't
share those binaries with their co-workers?

Morgan

Re: Snapshot artifact differentiation

Posted by Ron Wheeler <rw...@artifact-software.com>.
Can you give each developer their own snapshot repo (perhaps hosted on 
the virtual machine that is running their tests) that their virtual 
machine uses for snapshots?
Releases would come from the central release repo.

This would be easy to do with Nexus and probably easy with other Maven 
repos.

Developer deploys the latest SNAPSHOT to their repo (defined in their 
settings..XML)
Their repo acts as a proxy for the central release repo.
The test VMs use their local repo to resolve both SNAPSHOTs and releases.

The open question is "does developer A want to get SNAPSHOTS from 
Developer B?
Developer A could do this manually by checking out the team SNAPSHOTs 
(developer B's latest committed) and using "mvn deploy" to load the 
SNAPSHOT into developer A's private repo.

Ron
On 28/05/2015 12:54 PM, Morgan Fletcher wrote:
> We often have a virtual machine for each developer, where they can deploy
> code from their own branch (foo) for testing, in a continuous manner. These
> virtual machines use a configuration management tool to pull binaries from
> a remote drive, built by a continuous integration build server. The code is
> built by maven 3.
>
> We use classic maven versioning, i.e. X.Y-snapshot.
>
> A developer wants to be able to recycle their virtual machine with the
> latest code. The virtual machine only knows to get the binaries based on
> the version coded into its configuration management instructions, from the
> remote drive. Previously we had allowed folders to have the branch name
> (foo), but now we have switched to a strict maven model where branch names
> are not stored in the remote drive.
>
> The developer branch foo will eventually be merged into the shared branch
> that all developers consume, and which is deployed to canonical systems in
> a test environment.
>
> In this scenario, how would you recommend the developer either name, or
> deliver their binaries to their own virtual machine, so that they don't
> share those binaries with their co-workers?
>
> Morgan
>


-- 
Ron Wheeler
President
Artifact Software Inc
email: rwheeler@artifact-software.com
skype: ronaldmwheeler
phone: 866-970-2435, ext 102


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org