commit | 1fa2683060008020fff001737ebd3c8f8f20ef89 | [log] [tgz] |
---|---|---|
author | Thomas Wolf <thomas.wolf@paranor.ch> | Tue Sep 22 21:02:32 2020 +0200 |
committer | Thomas Wolf <thomas.wolf@paranor.ch> | Tue Sep 22 21:02:32 2020 +0200 |
tree | 54c3cc187824ebf7e9033c000367f44f6120c87b | |
parent | b0ba1746cfca3520e42b4ccc9fa841bf49b860d6 [diff] |
Use a Jenkins lock to prevent concurrent publishing This resource lock needs not be registered globally in Jenkins; if it doesn't exist, the "Lockable Resources" plug-in will use an ephemeral lock that exists as long as there are builds referencing it. [1] The EGit Jenkins does have this plug-in installed. Still use separate tmp directories per build; the Jenkins lock will protect only concurrent builds; other things that might concurrently do things with these directories might still interfere. [1] https://plugins.jenkins.io/lockable-resources/ Change-Id: I2b6c4e854d57b0cf6aaa301cff1f35acb5ec23cd Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
This repository contains the EGit Jenkins pipeline library.
For general information about Jenkins pipeline shared libraries see the Jenkins documentation.
Jenkins pipelines are written in Groovy; for development in Eclipse it may help to install the Groovy Development Tools. Be aware, though, that GDT patches the JDT Java compiler; a particular version of GDT thus works only with a particular version of JDT. If you use an Eclipse I-build (nightly development build for the next release), GDT will fail to install.
The library is intended to be used for the Jenkins builds of the egit/egit and the egit/egit-github repositories.
It provides several kinds of general pipelines that can be configured:
verifyBuild
is a simple pipeline that builds and runs the tests for a Gerrit patch set.productBuild
is intended to be run when a Gerrit patch set is submitted and builds a full distribution (nightly or stable build).uiNode
encapsulates the general Jenkins slave setup to run a build including UI tests on a JIRO node.
Directory src
contains auxiliary Groovy classes encapsulating generally useful operations.
The content of this repository is licensed under the EPL 2.0.
SPDX-License-Identifier: EPL-2.0