Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cbi-dev] Success building an Eclipse plugin project on ci.eclipse.org with Jenkinsfile

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

Back to the top