Jenkins Jobs bug fixes
* Add auth_build internal option and set to true for gates (fixes bug #989148) * Add upload_project option to tarball job and set to project by default (fixes bug #989855) * Add support for ensure => disabled and ensure => absent (fixes bug #988319) Change-Id: Id61deb4b50df70f38c18e7e9d2e8d6510805e11c
This commit is contained in:
parent
6764679829
commit
e5b3600b5c
@ -75,7 +75,8 @@ node "jenkins.stackforge.org" {
|
|||||||
jenkins_jobs::python_jobs { "reddwarf-natty":
|
jenkins_jobs::python_jobs { "reddwarf-natty":
|
||||||
site => "stackforge",
|
site => "stackforge",
|
||||||
project => "reddwarf",
|
project => "reddwarf",
|
||||||
node_group => "natty"
|
node_group => "natty",
|
||||||
|
ensure => "disabled"
|
||||||
}
|
}
|
||||||
|
|
||||||
jenkins_jobs::generic_jobs { "reddwarf":
|
jenkins_jobs::generic_jobs { "reddwarf":
|
||||||
|
@ -1,4 +1,18 @@
|
|||||||
define jenkins_jobs::build_job($site, $project, $job, $node_group, $triggers="", $builders, $publishers="", $logrotate="", $scm="", $trigger_branches="") {
|
define jenkins_jobs::build_job($site, $project, $job, $node_group, $triggers="", $builders, $publishers="", $logrotate="", $scm="", $trigger_branches="", $auth_build=false, $upload_project="", $ensure="present") {
|
||||||
|
|
||||||
|
if $ensure == "absent" {
|
||||||
|
file { "/var/lib/jenkins/jobs/${name}":
|
||||||
|
ensure => purged,
|
||||||
|
owner => 'jenkins',
|
||||||
|
recurse => true,
|
||||||
|
notify => Exec['jenkins']
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if $ensure == "disabled" {
|
||||||
|
$disabled = true
|
||||||
|
} else {
|
||||||
|
$disabled = false
|
||||||
|
}
|
||||||
|
|
||||||
file { "/var/lib/jenkins/jobs/${name}":
|
file { "/var/lib/jenkins/jobs/${name}":
|
||||||
ensure => directory,
|
ensure => directory,
|
||||||
@ -32,5 +46,5 @@ define jenkins_jobs::build_job($site, $project, $job, $node_group, $triggers="",
|
|||||||
replace => false,
|
replace => false,
|
||||||
require => File["/var/lib/jenkins/jobs/${name}"]
|
require => File["/var/lib/jenkins/jobs/${name}"]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,33 @@
|
|||||||
define jenkins_jobs::generic_jobs($site, $project, $node_group) {
|
define jenkins_jobs::generic_jobs($site, $project, $node_group, $ensure="present") {
|
||||||
jenkins_jobs::jobs::docs { $name:
|
jenkins_jobs::jobs::docs { $name:
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
node_group => $node_group
|
node_group => $node_group,
|
||||||
|
ensure => $ensure
|
||||||
}
|
}
|
||||||
|
|
||||||
jenkins_jobs::jobs::merge_gate { $name:
|
jenkins_jobs::jobs::merge_gate { $name:
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
node_group => $node_group,
|
node_group => $node_group,
|
||||||
trigger_branches => [[$project, '**']]
|
trigger_branches => [[$project, '**']],
|
||||||
|
ensure => $ensure
|
||||||
}
|
}
|
||||||
|
|
||||||
jenkins_jobs::jobs::ppa { $name:
|
jenkins_jobs::jobs::ppa { $name:
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
node_group => $node_group
|
node_group => $node_group,
|
||||||
|
ensure => $ensure
|
||||||
}
|
}
|
||||||
|
|
||||||
jenkins_jobs::jobs::tarball { $name:
|
jenkins_jobs::jobs::tarball { $name:
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
node_group => $node_group,
|
node_group => $node_group,
|
||||||
trigger_branches => [[$project, '^(?!refs/).*$']]
|
upload_project => $project,
|
||||||
|
trigger_branches => [[$project, '^(?!refs/).*$']],
|
||||||
|
ensure => $ensure
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
define jenkins_jobs::jobs::coverage($site, $project, $node_group) {
|
define jenkins_jobs::jobs::coverage($site, $project, $node_group, $ensure="present") {
|
||||||
jenkins_jobs::build_job { "${name}-coverage":
|
jenkins_jobs::build_job { "${name}-coverage":
|
||||||
|
ensure => $ensure,
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
job => "coverage",
|
job => "coverage",
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
define jenkins_jobs::jobs::docs($site, $project, $node_group) {
|
define jenkins_jobs::jobs::docs($site, $project, $node_group, $ensure="present") {
|
||||||
jenkins_jobs::build_job { "${name}-docs":
|
jenkins_jobs::build_job { "${name}-docs":
|
||||||
|
ensure => $ensure,
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
job => "docs",
|
job => "docs",
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
define jenkins_jobs::jobs::merge_gate($site, $project, $node_group, $trigger_branches) {
|
define jenkins_jobs::jobs::merge_gate($site, $project, $node_group, $trigger_branches, $ensure="present") {
|
||||||
jenkins_jobs::build_job { "gate-${name}-merge":
|
jenkins_jobs::build_job { "gate-${name}-merge":
|
||||||
|
ensure => $ensure,
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
job => "merge",
|
job => "merge",
|
||||||
node_group => $node_group,
|
node_group => $node_group,
|
||||||
triggers => trigger("gerrit_comment"),
|
triggers => trigger("gerrit_comment"),
|
||||||
builders => builder("gerrit_git_prep"),
|
builders => builder("gerrit_git_prep"),
|
||||||
trigger_branches => $trigger_branches
|
trigger_branches => $trigger_branches,
|
||||||
|
auth_build => true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
define jenkins_jobs::jobs::pep8_gate($site, $project, $node_group, $trigger_branches) {
|
define jenkins_jobs::jobs::pep8_gate($site, $project, $node_group, $trigger_branches, $ensure="present") {
|
||||||
jenkins_jobs::build_job { "gate-${name}-pep8":
|
jenkins_jobs::build_job { "gate-${name}-pep8":
|
||||||
|
ensure => $ensure,
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
job => "pep8",
|
job => "pep8",
|
||||||
@ -7,6 +8,7 @@ define jenkins_jobs::jobs::pep8_gate($site, $project, $node_group, $trigger_bran
|
|||||||
triggers => trigger("gerrit_comment"),
|
triggers => trigger("gerrit_comment"),
|
||||||
builders => [builder("gerrit_git_prep"), builder("copy_bundle"), builder("pep8")],
|
builders => [builder("gerrit_git_prep"), builder("copy_bundle"), builder("pep8")],
|
||||||
publishers => publisher("pep8"),
|
publishers => publisher("pep8"),
|
||||||
trigger_branches => $trigger_branches
|
trigger_branches => $trigger_branches,
|
||||||
|
auth_build => true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
define jenkins_jobs::jobs::ppa($site, $project, $node_group) {
|
define jenkins_jobs::jobs::ppa($site, $project, $node_group, $ensure="present") {
|
||||||
jenkins_jobs::build_job { "${name}-ppa":
|
jenkins_jobs::build_job { "${name}-ppa":
|
||||||
|
ensure => $ensure,
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
job => "ppa",
|
job => "ppa",
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
define jenkins_jobs::jobs::python26_gate($site, $project, $node_group, $trigger_branches) {
|
define jenkins_jobs::jobs::python26_gate($site, $project, $node_group, $trigger_branches, $ensure="present") {
|
||||||
jenkins_jobs::build_job { "gate-${name}-python26":
|
jenkins_jobs::build_job { "gate-${name}-python26":
|
||||||
|
ensure => $ensure,
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
job => "python26",
|
job => "python26",
|
||||||
node_group => $node_group,
|
node_group => $node_group,
|
||||||
triggers => trigger("gerrit_comment"),
|
triggers => trigger("gerrit_comment"),
|
||||||
builders => [builder("gerrit_git_prep"), builder("copy_bundle"), builder("python26")],
|
builders => [builder("gerrit_git_prep"), builder("copy_bundle"), builder("python26")],
|
||||||
trigger_branches => $trigger_branches
|
trigger_branches => $trigger_branches,
|
||||||
|
auth_build => true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
define jenkins_jobs::jobs::python27_gate($site, $project, $node_group, $trigger_branches) {
|
define jenkins_jobs::jobs::python27_gate($site, $project, $node_group, $trigger_branches, $ensure="present") {
|
||||||
jenkins_jobs::build_job { "gate-${name}-python27":
|
jenkins_jobs::build_job { "gate-${name}-python27":
|
||||||
|
ensure => $ensure,
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
job => "python27",
|
job => "python27",
|
||||||
node_group => $node_group,
|
node_group => $node_group,
|
||||||
triggers => trigger("gerrit_comment"),
|
triggers => trigger("gerrit_comment"),
|
||||||
builders => [builder("gerrit_git_prep"), builder("copy_bundle"), builder("python27")],
|
builders => [builder("gerrit_git_prep"), builder("copy_bundle"), builder("python27")],
|
||||||
trigger_branches => $trigger_branches
|
trigger_branches => $trigger_branches,
|
||||||
|
auth_build => true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
define jenkins_jobs::jobs::tarball($site, $project, $node_group, $trigger_branches) {
|
define jenkins_jobs::jobs::tarball($site, $project, $node_group, $trigger_branches, $upload_project, $ensure="present") {
|
||||||
jenkins_jobs::build_job { "${name}-tarball":
|
jenkins_jobs::build_job { "${name}-tarball":
|
||||||
|
ensure => $ensure,
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
job => "tarball",
|
job => "tarball",
|
||||||
|
upload_project => $upload_project,
|
||||||
node_group => $node_group,
|
node_group => $node_group,
|
||||||
triggers => trigger("gerrit_ref_updated"),
|
triggers => trigger("gerrit_ref_updated"),
|
||||||
builders => [builder("gerrit_git_prep"), builder("copy_bundle"), builder("tarball")],
|
builders => [builder("gerrit_git_prep"), builder("copy_bundle"), builder("tarball")],
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
define jenkins_jobs::jobs::venv($site, $project, $node_group) {
|
define jenkins_jobs::jobs::venv($site, $project, $node_group, $ensure="present") {
|
||||||
jenkins_jobs::build_job { "${name}-venv":
|
jenkins_jobs::build_job { "${name}-venv":
|
||||||
|
ensure => $ensure,
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
job => "venv",
|
job => "venv",
|
||||||
|
@ -1,30 +1,35 @@
|
|||||||
define jenkins_jobs::python_jobs($site, $project, $node_group) {
|
define jenkins_jobs::python_jobs($site, $project, $node_group, $ensure="present") {
|
||||||
jenkins_jobs::jobs::coverage { $name:
|
jenkins_jobs::jobs::coverage { $name:
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
node_group => $node_group
|
node_group => $node_group,
|
||||||
|
ensure => $ensure
|
||||||
}
|
}
|
||||||
jenkins_jobs::jobs::pep8_gate { $name:
|
jenkins_jobs::jobs::pep8_gate { $name:
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
node_group => $node_group,
|
node_group => $node_group,
|
||||||
trigger_branches => [[$project, '**']]
|
trigger_branches => [[$project, '**']],
|
||||||
|
ensure => $ensure
|
||||||
}
|
}
|
||||||
jenkins_jobs::jobs::python26_gate { $name:
|
jenkins_jobs::jobs::python26_gate { $name:
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
node_group => $node_group,
|
node_group => $node_group,
|
||||||
trigger_branches => [[$project, '**']]
|
trigger_branches => [[$project, '**']],
|
||||||
|
ensure => $ensure
|
||||||
}
|
}
|
||||||
jenkins_jobs::jobs::python27_gate { $name:
|
jenkins_jobs::jobs::python27_gate { $name:
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
node_group => $node_group,
|
node_group => $node_group,
|
||||||
trigger_branches => [[$project, '**']]
|
trigger_branches => [[$project, '**']],
|
||||||
|
ensure => $ensure
|
||||||
}
|
}
|
||||||
jenkins_jobs::jobs::venv { $name:
|
jenkins_jobs::jobs::venv { $name:
|
||||||
site => $site,
|
site => $site,
|
||||||
project => $project,
|
project => $project,
|
||||||
node_group => $node_group
|
node_group => $node_group,
|
||||||
|
ensure => $ensure
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,9 +36,11 @@ In modules/jenkins_jobs
|
|||||||
<keepBuildVariables>true</keepBuildVariables>
|
<keepBuildVariables>true</keepBuildVariables>
|
||||||
<contributors/>
|
<contributors/>
|
||||||
</EnvInjectJobProperty>
|
</EnvInjectJobProperty>
|
||||||
|
<% if auth_build == true %>
|
||||||
<hudson.security.AuthorizationMatrixProperty>
|
<hudson.security.AuthorizationMatrixProperty>
|
||||||
<permission>hudson.model.Item.Build:authenticated</permission>
|
<permission>hudson.model.Item.Build:authenticated</permission>
|
||||||
</hudson.security.AuthorizationMatrixProperty>
|
</hudson.security.AuthorizationMatrixProperty>
|
||||||
|
<% end %>
|
||||||
</properties>
|
</properties>
|
||||||
<% if scm == "" %>
|
<% if scm == "" %>
|
||||||
<scm class="hudson.scm.NullSCM"/>
|
<scm class="hudson.scm.NullSCM"/>
|
||||||
@ -47,7 +49,11 @@ In modules/jenkins_jobs
|
|||||||
<% end %>
|
<% end %>
|
||||||
<assignedNode><%= node_group %></assignedNode>
|
<assignedNode><%= node_group %></assignedNode>
|
||||||
<canRoam>false</canRoam>
|
<canRoam>false</canRoam>
|
||||||
|
<% if disabled == true %>
|
||||||
|
<disabled>true</disabled>
|
||||||
|
<% else %>
|
||||||
<disabled>false</disabled>
|
<disabled>false</disabled>
|
||||||
|
<% end %>
|
||||||
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
||||||
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
||||||
<triggers class="vector">
|
<triggers class="vector">
|
||||||
|
@ -3,10 +3,10 @@
|
|||||||
<latestOnly>false</latestOnly>
|
<latestOnly>false</latestOnly>
|
||||||
</hudson.tasks.ArtifactArchiver>
|
</hudson.tasks.ArtifactArchiver>
|
||||||
<be.certipost.hudson.plugin.SCPRepositoryPublisher>
|
<be.certipost.hudson.plugin.SCPRepositoryPublisher>
|
||||||
<siteName><%= project %>.<%= site %>.org</siteName>
|
<siteName><%= upload_project %>.<%= site %>.org</siteName>
|
||||||
<entries>
|
<entries>
|
||||||
<be.certipost.hudson.plugin.Entry>
|
<be.certipost.hudson.plugin.Entry>
|
||||||
<filePath>tarballs/<%= project %>/</filePath>
|
<filePath>tarballs/<%= upload_project %>/</filePath>
|
||||||
<sourceFile>dist/*.tar.gz</sourceFile>
|
<sourceFile>dist/*.tar.gz</sourceFile>
|
||||||
<keepHierarchy>false</keepHierarchy>
|
<keepHierarchy>false</keepHierarchy>
|
||||||
</be.certipost.hudson.plugin.Entry>
|
</be.certipost.hudson.plugin.Entry>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user