Hi,

 

To "simplify" release process and loosing less time in branding and also
having apidoc, build artefacts, maven artefacts at once we try with Neil a
different approach than previous release.

 I'm not a "guru" in Jenkins or in "git". I hope to be understandable

 

We use a special Apache Hosted Git Folder job that allow to scan Apache
gitbox repo.

1) For Netbeans-TLP job we configure it to scan for master and release*
branches. On each "commit" a build is triggered.

   This was mostly done to avoid to create a job per release by hand.
Because apidoc must be editable post release in case of for example typo
fix, deadlink .

 

   With Antonio, we also created a json file to retain all needed
information (maybe we need more later) per release (branch name is key)
[1]

   

   On build trigger the real job is taken from a groovy file,  [2] 

   This build is not failing fast we may have to adjust.

 

For a release branch

   It create the needed artefacts that 

   - Neil needs (source and bin bundle) . (We are still cleaning up, to have
better file layout)

   - Laszlo need (source to generate snap) 

   - I need (maven artefacts)

   - Antonio needs to populate apidoc

It's based on netbeans-release job

 

For master branch

   It create apidoc 

   It populate maven artefacts to snapshots repository directly.

 2) For netbeans-maven-TLP it scan for repository name. (ie
netbeans-mavenutils* ).

Associated groovy [3], 

It create website for each repo,

It populate maven artefacts to snapshots repository.

 

Files [1]-[3] are open to improvement. IMHO Groovy build file are better for
sharing than freejob.

 

Best Regards

Eric

 

[1]https://github.com/apache/netbeans-jenkins-lib/blob/master/meta/netbeansr
elease.json

[2]https://github.com/apache/netbeans-jenkins-lib/blob/master/vars/asfMainNe
tBeansBuild.groovy

[3]https://github.com/apache/netbeans-jenkins-lib/blob/master/vars/asfStanda
rdBuild.groovy

Reply via email to