Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #5 from ssogabe/JENKINS-9260.
Jenkins 9260 promote plugin should provide ability to select slave node to run
- Loading branch information
Showing
5 changed files
with
178 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
53 changes: 53 additions & 0 deletions
53
src/main/resources/hudson/plugins/promoted_builds/JobPropertyImpl/help-labelString.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
<div> | ||
If you want to always run this promotion process on a specific node/slave, just specify its name. | ||
If not specified, the same label which the promoted build used can be used. | ||
This works well when you have a small number of nodes. | ||
|
||
<p> | ||
As the size of the cluster grows, it becomes useful not to tie projects to specific slaves, | ||
as it hurts resource utilization when slaves may come and go. For such situation, assign labels | ||
to slaves to classify their capabilities and characteristics, and specify a boolean expression | ||
over those labels to decide where to run. | ||
|
||
<h3>Valid Operators</h3> | ||
<p> | ||
The following operators are supported, in the order of precedence. | ||
<dl> | ||
<dt>(expr)</dt> | ||
<dd>parenthesis</dd> | ||
|
||
<dt>!expr</dt> | ||
<dd>negation</dd> | ||
|
||
<dt>expr&&expr</dt> | ||
<dd> | ||
and | ||
</dd> | ||
|
||
<dt>expr||expr</dt> | ||
<dd> | ||
or | ||
</dd> | ||
|
||
<dt>a -> b</dt> | ||
<dd> | ||
"implies" operator. Equivalent to <tt>!a|b</tt>. | ||
For example, <tt>windows->x64</tt> could be thought of as "if run on a Windows slave, | ||
that slave must be 64bit." It still allows Jenkins to run this build on linux. | ||
</dd> | ||
|
||
<dt>a <-> b</dt> | ||
<dd> | ||
"if and only if" operator. Equivalent to <tt>a&&b || !a&&!b</tt>. | ||
For example, <tt>windows->sfbay</tt> could be thought of as "if run on a Windows slave, | ||
that slave must be in the SF bay area, but if not on Windows, it must not be in the bay area." | ||
</dd> | ||
</dl> | ||
<p> | ||
All operators are left-associative (i.e., a->b->c <-> (a->b)->c ) | ||
An expression can contain whitespace for better readability, and it'll be ignored. | ||
|
||
<p> | ||
Label names or slave names can be quoted if they contain unsafe characters. For example, | ||
<tt>"jenkins-solaris (Solaris)" || "Windows 2008"</tt> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters