ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mitch Gitman <mgit...@gmail.com>
Subject Re: promoting between repositories
Date Fri, 29 Oct 2010 03:19:50 GMT
I would recommend doing a combination of the first and second approaches.

Suppose you go by Ivy's three default publication statuses:
 * integration
 * milestone
 * release

Then you can have separate integration, milestone, and release repositories.
This way you're assured that there's no way that integration or
milestone-status modules will creep into your release build when it's
pointing just at the release repository. Your milestone build can point at
both milestone and release repos in a chain. Your integration build can
point at all three in a chain.

Beyond the use of different repositories, though, you should specify the
associated status in the published ivy.xml: /ivy-module/info@status. See:
http://ant.apache.org/ivy/history/latest-milestone/ivyfile/info.html
And:
http://ant.apache.org/ivy/history/latest-milestone/use/deliver.html

Beyond this, you get into the question of how to handle integration
versions--which really apply to both the integration and milestone repos. Do
you overwrite every time there's a new build of the same module, or do you
prolifically version where every new build gets its own buildnumber appended
to the version, whether it's a timestamp or incremented number? And then
there's the question of whether you want to use special suffixes like
-SNAPSHOT or -DEV in the revision to represent integration builds.

There are so many reasonable variations on how to version integration
builds, but regardless of which you choose, I would still recommend having
one resolver for each status.

One additional convention, at least if you're using Subversion, is to
establish a rough correspondence between Ivy publication statuses and
Subversion location conventions, if you're branching to do releases rather
than the other way around:
 * integration: trunk
 * milestone: branch
 * release: tags

On Thu, Oct 28, 2010 at 7:54 PM, Denis Krizanovic <
denis.krizanovic@gmail.com> wrote:

> Hi There,
>
> I've been thinking a lot about how to know which of my artifacts have
> made it into which of my environments.
>
> Firstly, because I want one to get to this ideal ->
> http://www.itilcollege.com/DefinitiveSoftwareLibraryITIL.html
>
> and secondly, because I want to delete artifacts that did not make it
> out of development.
>
> I have two basic approaches in mind.. One is to somehow annotate the
> ivy.xml with info attributes through republishing the same artifact to
> the single repository. The second approach is to promote the same
> artifact to environment specific repositories.
>
> Has anyone else thought about this kind of problem?
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message