Thanks for the example !
For Gemoc, we've also set up jenkins file pipeline (but not set up
yet the deployment of the artifacts to download.eclipse.org)
However I'd like to share one good point we've set up in our
jenkinfile: the possibility to work with several git repositories
while maintaining branch consistency.
We currenty use 2 git repo and probably more to come. Everything is
build in one big job (we find this simplier in order to have some
system tests accross the whole project instead of coordinating jobs
dedicated to each repository)
So, the goal of our pipeline is to make sure that we are consistent
when building a branch.
Ie. it must checkout all repositories with the same branch name.
Additionnally if a given repository has no branch with the given
name, then it falls back to the master branch :-)
see https://github.com/eclipse/gemoc-studio/blob/master/Jenkinsfile#L12
Also there are some considerations that should be written in the
wiki.
When using multibranch pipeline, developpers(offical commiters) must
ensure to delete unused branches in order to save diskspace on the
CI (+ obviously using rolling logs)
hope this helps
best regards
Didier
Le 01/02/2018 à 16:22, Frederic Gurr a
écrit :
Hi,
Thanks Mickael for investigating how Jenkinsfiles can be used for
building Eclipse plugins.
I've added a link to the aCute Jenkinsfile here:
https://wiki.eclipse.org/Jenkins#Jenkins_Pipeline_.28aka_configuration_in_code.29
The wiki section still needs some improvement...
Regards,
Fred
On 01.02.2018 16:00, Mickael Istria wrote:
Hi all,
I'd like to report a success building Eclipse aCute (typical Eclipse
plugins built with Tycho and shipped as a p2 repo published on
download.eclipse.org <http://download.eclipse.org>) using a Jenkinsfile.
See https://ci.eclipse.org/acute/job/aCute/ . This is actually a
*multi-branch pipeline* job, the job is configured to look at the
branches and PRs on GitHub repository, and provision a job for each
branch and PR reading the Jenkinsfile. It seems to automatically trigger
a build whenever it notices a change (the job is configured to look for
changes every 15 minutes, but the "Scan repository now" option allows to
trigger a check on demand)
Here is the current Jenkinsfile for aCute:
https://github.com/eclipse/aCute/blob/master/Jenkinsfile . While it
looks easy, it was a bit painful to author; I have to admit I have some
concerns with those Jenkins pipeline files which are extremely vague and
hard to author and maintain; anyway this one works and may be used as
example...
The only thing I didn't try to implement yet is the support for
SonarQube analysis in the Jenkinsfile to get from time to time one build
publishing reports there. It would probably be non-trivial to add in the
Jenkinsfile as it would involve putting conditions in many place... If
you feel interested to contribute that to aCute, that would be great,
and it would be easy to reuse this result on many other Eclipse.org
projects.
So if the trend is to recommend projects to use Jenkinsfile (which allow
easier project portability between Jenkins instances), then I suggest
that the CBI wiki puts a note about it and link to this working example.
Cheers,
--
Mickael Istria
Eclipse IDE <https://www.eclipse.org/downloads/eclipse-packages/>
developer, at Red Hat Developers <https://developers.redhat.com/> community
Elected Committer Representative at the Eclipse Foundation
<https://www.eclipse.org/org/> board of directors
_______________________________________________
cbi-dev mailing list
cbi-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cbi-dev
_______________________________________________
cbi-dev mailing list
cbi-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cbi-dev
--
Didier Vojtisek
SED Rennes - DiverSE Team
Univ Rennes, Inria, CNRS, IRISA
Campus de beaulieu
35042 Rennes
02 99 84 75 07
|