What I'm proposing is more leaned on towards automatic staging. Could be an
extra feature where the user selects "manual staging" or "automatic
staging" in the configuration.
If the user selects "automatic staging", he/she can pick up the strategy.
In that case, the plugin would be executed at build time. When the staging
build is triggered, the Jenkins Artifactory Plugin has information about
the project being built (For a maven project: artifact ids, versions,
jenkins build number, etc.). This information can be passed as a context to
the Artifactory user plugin.
For each automatic staging strategy, the user defines the following methods:
calculateNextDevelopmentVersion(context)
calculateReleaseVersion(context)
So, the context (a map including things like the Jenkins build number, the
svn revision, etc.) is passed by the Jenkins Artifactory Plugin. As a
result of that, call, it obtains the versions for each module.
Does it make sense to you?
On Sun, Jun 24, 2012 at 4:37 PM, Noam Y. Tenne <[email protected]> wrote:
> Interesting idea; the atomicity might prove itself difficult to enforce as
> a number of builds might be working on the same branch.
> At what points during the staging-release phases would these extra calls
> provide the context information you most need?
>
> On Thu, Jun 21, 2012 at 8:22 PM, Nicky Ramone <[email protected]> wrote:
>
>> Has anyone got a chance to read this?
>>
>>
>> On Thu, Jun 14, 2012 at 10:16 AM, Nicky Ramone <[email protected]> wrote:
>>
>>> Hi
>>>
>>> I am using the Jenkins plugin and wrote a staging strategy as an
>>> Artifactory plugin.
>>> However, I feel like there is something missing in the design, or maybe
>>> there's some part I'm unaware of.
>>>
>>> For staging versioning, it is useful to be able to resolve values that
>>> correspond to the staging build.
>>> The way it is designed now, a staging plugin can provide version values
>>> inspecting previous builds but, since the API is called before the actual
>>> staging build, it cannot retrieve any information associated to that build.
>>>
>>> Example 1: One version scheme that I would like to have is to be able to
>>> append the Subversion revision in the release version. I'm unable to do
>>> this because a new revision may be committed while I'm at the staging
>>> release page,
>>> Example 2: If I wanted to append the Jenkins build number to the release
>>> version, I could inspect the latest build and add 1 to its number, but this
>>> can be wrong if a new build is triggered while in the staging release page.
>>> I would really like to have solution to this and other problems as well,
>>> and be able to release with a single button click and no human intervention.
>>>
>>> Proposition: What do you think about the idea of a plugin being called
>>> to calculate the next development version number as well as the release
>>> version at staging build time?
>>> So, the idea is that the Jenkins plugin calls this plugin through the
>>> Artifactory API to calculate the values that need to be resolved at build
>>> time.
>>> calculateNextDevelopmentVersion(context)
>>> calculateReleaseVersion(context)
>>> ...
>>> In those methods, the context can provide Jenkins info, such as the
>>> project being built, build number, revision, etc.
>>>
>>> What do you think?
>>> Thanks.
>>> Regards.
>>>
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> Live Security Virtual Conference
>> Exclusive live event will cover all the ways today's security and
>> threat landscape has changed and how IT managers can respond. Discussions
>> will include endpoint security, mobile security and the latest in malware
>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>> _______________________________________________
>> Artifactory-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/artifactory-users
>>
>>
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Artifactory-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/artifactory-users
>
>
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Artifactory-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/artifactory-users