Thanks Brian. I appreciate you taking the time to respond in such
detail.

---
Todd Thiessen
 

> -----Original Message-----
> From: Brian Fox [mailto:[email protected]] 
> Sent: Tuesday, April 07, 2009 5:11 PM
> To: Maven Users List
> Cc: Goulet, Guillaume (CAR:LSBA); Coupland, Kevin (BVW:9T16); 
> Blaney, Kyle (BVW:9T16)
> Subject: RE: Understanding SNAPSHOTS
> 
> Hello,
> 
> We have our CI system setup to build after every commit for 
> verification. It happens to build on a grid with multiple 
> OS's and one of them deploys a snapshot to our Nexus repo. 
> Our QA grabs the latest snapshot of the application at 
> various times and validates the fixes against it. (they look 
> for jira issues marked as resolved - as opposed to closed).
> This happens repeatedly during the normal development cycle. 
> 
> Once everything has been validated at least once (new 
> features and bug fixes), then we stage a release build using 
> the Nexus Pro Staging[1] feature. These staged releases are 
> not publicly viewable (but our snapshot repo for OSS is). 
> They will then grab the staged release and do more regression 
> and final verification of that build. This process also 
> repeats but it is intended to converge to a stable release -- 
> the development team at this point has moved on to the next 
> release and only things we deem critical are fixed at this 
> point. We typically restage 1-3 times over a period of 2-3 days.
> 
> If a staged build is needed again, we just drop the staging 
> repo and restage it. If everything is good, then we promote 
> it and it becomes publicly available. All of this is managed 
> by the staging lifecycle.
> 
> So to specifically answer your questions:
> 
> >Does the Nexus dev team ever create a release of Nexus that is meant 
> >for internal purposes only?  For instance, do you have a 
> verification 
> >team and if so, how do you distribute a build that you want the 
> >verification team to test?
> 
> Yes. This is our staged release, but by this point we expect 
> everything is good. We usually find something at this point, 
> but rarely is it a huge issue since everything has already 
> been tested. We use the Pro Staging feature to do this.
> 
> >I have always thought of SNAPSHOTS as a version that is 
> strictly meant 
> >to track nightly builds or builds between developers.
> 
> It is, but we operate in an agile fashion so qa is included 
> in the team and they are looking at snapshots as well. This 
> provides us the quickest feedback on fixes during the cycle.
> 
> [1] http://www.sonatype.com/books/nexus-book/reference/staging.html
> And a video: 
> http://www.sonatype.com/people/2009/01/nexus-professional-what
> -is-staging/
> 
> -----Original Message-----
> From: Todd Thiessen [mailto:[email protected]]
> Sent: Tuesday, April 07, 2009 9:32 AM
> To: Maven Users List
> Cc: Guillaume Goulet; Kevin Coupland; Kyle Blaney
> Subject: Understanding SNAPSHOTS
> 
> I have been thinking alot lately about SNAPSHOTS and how to 
> best utilize them. I think I perhaps have misunderstood them 
> and I wanted to see what kind of responses I get from the 
> community, particularly from the guys at Sonatype.
> 
> I took a look at Nexus (which I am using as a good example of a Maven
> project) to see what kind of versioning it uses.  Users of 
> Nexus generally only ever see released versions of it. ie: 
> version 1.2.0.1, 1.2.0.2, 1.3.0 and so on and so forth.
> 
> Does the Nexus dev team ever create a release of Nexus that 
> is meant for internal purposes only?  For instance, do you 
> have a verification team and if so, how do you distribute a 
> build that you want the verification team to test?
> 
> I suspect your verificaton is done on a SNAPSHOT version, 
> which I believe is one of my big misconceptions of what 
> SNAPSHOTS are meant for.
> I have always thought of SNAPSHOTS as a version that is 
> strictly meant to track nightly builds or builds between developers.
> 
> However, now I am not so sure. Is it reasonable to work with 
> a SNAPSHOT in your local repostiory, do a number of unit 
> tests and sanity on that SNAPSHOT and then deploy a version 
> of that SNAPSHOT to your corporate maven repository to share 
> with the rest of the company/community so that they can use 
> it and test against it? A SNAPSHOT is time stamped so a 
> consumer can always know exactly what version they are using.
> 
> Am I off my rocker? (well, I supose thats a seperate question ;-))
> 
> ---
> Todd Thiessen
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to