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":
|
||||
site => "stackforge",
|
||||
project => "reddwarf",
|
||||
node_group => "natty"
|
||||
node_group => "natty",
|
||||
ensure => "disabled"
|
||||
}
|
||||
|
||||
jenkins_jobs::generic_jobs { "reddwarf":
|
||||
|
@ -1,36 +1,50 @@
|
||||
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") {
|
||||
|
||||
file { "/var/lib/jenkins/jobs/${name}":
|
||||
ensure => directory,
|
||||
owner => 'jenkins',
|
||||
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}":
|
||||
ensure => directory,
|
||||
owner => 'jenkins',
|
||||
}
|
||||
|
||||
file { "/var/lib/jenkins/jobs/${name}/builds":
|
||||
ensure => directory,
|
||||
owner => 'jenkins',
|
||||
require => File["/var/lib/jenkins/jobs/${name}"]
|
||||
}
|
||||
|
||||
file { "/var/lib/jenkins/jobs/${name}/config-history":
|
||||
ensure => directory,
|
||||
owner => 'jenkins',
|
||||
require => File["/var/lib/jenkins/jobs/${name}"]
|
||||
}
|
||||
|
||||
file { "/var/lib/jenkins/jobs/${name}/config.xml":
|
||||
ensure => present,
|
||||
content => template("jenkins_jobs/body.xml.erb"),
|
||||
owner => 'jenkins',
|
||||
require => File["/var/lib/jenkins/jobs/${name}"],
|
||||
notify => Exec["jenkins"]
|
||||
}
|
||||
|
||||
file { "/var/lib/jenkins/jobs/${name}/nextBuildNumber":
|
||||
ensure => present,
|
||||
content => "1",
|
||||
owner => 'jenkins',
|
||||
replace => false,
|
||||
require => File["/var/lib/jenkins/jobs/${name}"]
|
||||
}
|
||||
}
|
||||
|
||||
file { "/var/lib/jenkins/jobs/${name}/builds":
|
||||
ensure => directory,
|
||||
owner => 'jenkins',
|
||||
require => File["/var/lib/jenkins/jobs/${name}"]
|
||||
}
|
||||
|
||||
file { "/var/lib/jenkins/jobs/${name}/config-history":
|
||||
ensure => directory,
|
||||
owner => 'jenkins',
|
||||
require => File["/var/lib/jenkins/jobs/${name}"]
|
||||
}
|
||||
|
||||
file { "/var/lib/jenkins/jobs/${name}/config.xml":
|
||||
ensure => present,
|
||||
content => template("jenkins_jobs/body.xml.erb"),
|
||||
owner => 'jenkins',
|
||||
require => File["/var/lib/jenkins/jobs/${name}"],
|
||||
notify => Exec["jenkins"]
|
||||
}
|
||||
|
||||
file { "/var/lib/jenkins/jobs/${name}/nextBuildNumber":
|
||||
ensure => present,
|
||||
content => "1",
|
||||
owner => 'jenkins',
|
||||
replace => false,
|
||||
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:
|
||||
site => $site,
|
||||
project => $project,
|
||||
node_group => $node_group
|
||||
node_group => $node_group,
|
||||
ensure => $ensure
|
||||
}
|
||||
|
||||
jenkins_jobs::jobs::merge_gate { $name:
|
||||
site => $site,
|
||||
project => $project,
|
||||
node_group => $node_group,
|
||||
trigger_branches => [[$project, '**']]
|
||||
trigger_branches => [[$project, '**']],
|
||||
ensure => $ensure
|
||||
}
|
||||
|
||||
jenkins_jobs::jobs::ppa { $name:
|
||||
site => $site,
|
||||
project => $project,
|
||||
node_group => $node_group
|
||||
node_group => $node_group,
|
||||
ensure => $ensure
|
||||
}
|
||||
|
||||
jenkins_jobs::jobs::tarball { $name:
|
||||
site => $site,
|
||||
project => $project,
|
||||
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":
|
||||
ensure => $ensure,
|
||||
site => $site,
|
||||
project => $project,
|
||||
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":
|
||||
ensure => $ensure,
|
||||
site => $site,
|
||||
project => $project,
|
||||
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":
|
||||
ensure => $ensure,
|
||||
site => $site,
|
||||
project => $project,
|
||||
job => "merge",
|
||||
node_group => $node_group,
|
||||
triggers => trigger("gerrit_comment"),
|
||||
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":
|
||||
ensure => $ensure,
|
||||
site => $site,
|
||||
project => $project,
|
||||
job => "pep8",
|
||||
@ -7,6 +8,7 @@ define jenkins_jobs::jobs::pep8_gate($site, $project, $node_group, $trigger_bran
|
||||
triggers => trigger("gerrit_comment"),
|
||||
builders => [builder("gerrit_git_prep"), builder("copy_bundle"), builder("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":
|
||||
ensure => $ensure,
|
||||
site => $site,
|
||||
project => $project,
|
||||
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":
|
||||
ensure => $ensure,
|
||||
site => $site,
|
||||
project => $project,
|
||||
job => "python26",
|
||||
node_group => $node_group,
|
||||
triggers => trigger("gerrit_comment"),
|
||||
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":
|
||||
ensure => $ensure,
|
||||
site => $site,
|
||||
project => $project,
|
||||
job => "python27",
|
||||
node_group => $node_group,
|
||||
triggers => trigger("gerrit_comment"),
|
||||
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":
|
||||
ensure => $ensure,
|
||||
site => $site,
|
||||
project => $project,
|
||||
job => "tarball",
|
||||
upload_project => $upload_project,
|
||||
node_group => $node_group,
|
||||
triggers => trigger("gerrit_ref_updated"),
|
||||
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":
|
||||
ensure => $ensure,
|
||||
site => $site,
|
||||
project => $project,
|
||||
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:
|
||||
site => $site,
|
||||
project => $project,
|
||||
node_group => $node_group
|
||||
node_group => $node_group,
|
||||
ensure => $ensure
|
||||
}
|
||||
jenkins_jobs::jobs::pep8_gate { $name:
|
||||
site => $site,
|
||||
project => $project,
|
||||
node_group => $node_group,
|
||||
trigger_branches => [[$project, '**']]
|
||||
trigger_branches => [[$project, '**']],
|
||||
ensure => $ensure
|
||||
}
|
||||
jenkins_jobs::jobs::python26_gate { $name:
|
||||
site => $site,
|
||||
project => $project,
|
||||
node_group => $node_group,
|
||||
trigger_branches => [[$project, '**']]
|
||||
trigger_branches => [[$project, '**']],
|
||||
ensure => $ensure
|
||||
}
|
||||
jenkins_jobs::jobs::python27_gate { $name:
|
||||
site => $site,
|
||||
project => $project,
|
||||
node_group => $node_group,
|
||||
trigger_branches => [[$project, '**']]
|
||||
trigger_branches => [[$project, '**']],
|
||||
ensure => $ensure
|
||||
}
|
||||
jenkins_jobs::jobs::venv { $name:
|
||||
site => $site,
|
||||
project => $project,
|
||||
node_group => $node_group
|
||||
node_group => $node_group,
|
||||
ensure => $ensure
|
||||
}
|
||||
}
|
||||
|
@ -36,9 +36,11 @@ In modules/jenkins_jobs
|
||||
<keepBuildVariables>true</keepBuildVariables>
|
||||
<contributors/>
|
||||
</EnvInjectJobProperty>
|
||||
<% if auth_build == true %>
|
||||
<hudson.security.AuthorizationMatrixProperty>
|
||||
<permission>hudson.model.Item.Build:authenticated</permission>
|
||||
</hudson.security.AuthorizationMatrixProperty>
|
||||
<% end %>
|
||||
</properties>
|
||||
<% if scm == "" %>
|
||||
<scm class="hudson.scm.NullSCM"/>
|
||||
@ -47,7 +49,11 @@ In modules/jenkins_jobs
|
||||
<% end %>
|
||||
<assignedNode><%= node_group %></assignedNode>
|
||||
<canRoam>false</canRoam>
|
||||
<% if disabled == true %>
|
||||
<disabled>true</disabled>
|
||||
<% else %>
|
||||
<disabled>false</disabled>
|
||||
<% end %>
|
||||
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
||||
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
||||
<triggers class="vector">
|
||||
|
@ -3,10 +3,10 @@
|
||||
<latestOnly>false</latestOnly>
|
||||
</hudson.tasks.ArtifactArchiver>
|
||||
<be.certipost.hudson.plugin.SCPRepositoryPublisher>
|
||||
<siteName><%= project %>.<%= site %>.org</siteName>
|
||||
<siteName><%= upload_project %>.<%= site %>.org</siteName>
|
||||
<entries>
|
||||
<be.certipost.hudson.plugin.Entry>
|
||||
<filePath>tarballs/<%= project %>/</filePath>
|
||||
<filePath>tarballs/<%= upload_project %>/</filePath>
|
||||
<sourceFile>dist/*.tar.gz</sourceFile>
|
||||
<keepHierarchy>false</keepHierarchy>
|
||||
</be.certipost.hudson.plugin.Entry>
|
||||
|
Loading…
x
Reference in New Issue
Block a user