deployment - maven deploy changed artifacts only -
I'm using maven 2.2 with nexus 1.4.0
Assume that I have As a palm-structure (with the same version)
parentproj, v1.0.1 - childproj1, v1.0.2 - childproj2, v1.0.7
Childproj1 and childproj2 represent different parts of the application (such as GUI and backend) and I want to be able to keep my versions separate so that I can issue a new version of Backend without releasing a new version of Gyar.
Now, to deploy this structure on the Nexus, go to the original PRP and
MVN deployed -DperformRelease = true
It says that all the artifacts will be deployed in the Nexus Relay repository for the first time when I deploy it works fine, but for the second time I go into problems: Suppose I updated childproj1 so that we have now The following versions will be:
parentproj, v1.0.1 - childproj1, v1.0.3 - childproj2, v1.0.7
In this situation, the Nexus will not let me employ the microphone with the original project because it has a copy of ChildProject 2 in version 1.0. Nexus will say "resource, invalid request: repository = 'release' with id does not allow updating artifacts." That's right, I do not want to accidentally update the existing versions.
But I think what I would like to do, it might be able to say something like, "apply only those artifacts which have versions which are not already available in the release repository."
Is there any way to do this, or do I have to deploy each project manually?
In my experience, everything has become easy to mobilize, and often the same version for all the components Use the numbers. For example, if my team is working on version 1.0.7, then all subdomains have version number of 1.0.7-SANAPSHOT, until we release, even if no code has changed in some modules. Then when we deploy, we will deploy the entire application. I think there are many advantages of deploying laminate. First of all, if you have to rollback everyone to the last stable version, then you have to rollback to 1.0.6 for all the modules - you do not have to remember that the backend was 1.0.3 whereas the GUI was 1.0.6. Second, it ensures that all the components have been compiled properly against each other and tested as a logical group.
Sorry, I know that this is not a specific answer to your question, but at least in the case of my team, it was useful to think a little differently.
Comments
Post a Comment