On 29/10/2014 5:19 AM, Barrie Treloar wrote:
On 29 October 2014 18:48, Fay Wong <[email protected]> wrote:
Many thanks to Barrie.
I think what you have clarified is the normal flow of maven practice.
The "deploy" in the context of my previous post means: our developer invoke
a "mvn deploy" command to share the output(bytecode) through the repository
so as to shorten the build time of whole project(as its code base is too
large). Our goal is modular compiling and packaging.
Currently my pain is our developer would deploy broken bytecode to our dev
repository and broken others work. Could i define a intermediate
repository, everytime they deploy, jenkins will verify it. if pass, then
depoy it into dev repository, otherwise, revert the intermediate repository
to keep sync with dev repository.
Is there a easier way to achieve this?
There is the stick, or the carrot.
The paid version of Nexus (a Maven Repository Manager) has staging
repositories, I dont use them, you may be able to get them to do what you
want.
Either way its a process issue.
Teach your developers to stop breaking the build.
Or use one of the options I've suggested.
It is really a human engineering problem:
1) Whoever breaks the build buys the first round of beer or has to buy
pizza for the team on Friday. Works for a small team that socializes
together.
2) Build Breaker of the month club. Post the picture of the last person
to break the build. If it is a widespread problem, offer reward each
quarter to people who do not break the build - day-off, lunch with the
boss at a good restaurant. Keep a scorecard of who is out and who is
still in the running.
3)Track build breaking as a performance indicator when doing assessments.
4) If a person consistently (you can define this) breaks the build, take
away their deploy rights so that they have to find someone to deploy
their stuff and they will have to prove to that person that it has been
tested. Hurts the pride.
If no one will deploy their stuff, fire them. The team has lost
confidence in their ability to do the work.
Or just assign them work that does not affect the build - test data
creation, testing UI, etc.
Or move to Nexus-Pro.
Ron
--
Ron Wheeler
President
Artifact Software Inc
email: [email protected]
skype: ronaldmwheeler
phone: 866-970-2435, ext 102
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]