[Jenkins] Configuration of Gerrit-trigger plugin

Change-Id: I9aa4729a2ec61bd2b358ab41ab0994ce57b93fb3
This commit is contained in:
Nikolay Mahotkin 2016-05-17 13:51:51 +03:00 committed by Sergey Kraynev
parent c0b9861333
commit 31015e9a21
6 changed files with 144 additions and 0 deletions

View File

@ -83,6 +83,7 @@ Methods:
- $.gerrit.deploy()
- $._environment.reporter.report($this, 'Creating jenkins account in gerrit...')
- $.createGerritAccount()
- $.configureGerritPlugin($.gerrit)
- $.configureUser()
@ -177,6 +178,23 @@ Methods:
- $template: $resources.yaml('InstallGerritPlugin.template')
- $.instance.agent.call($template, $resources)
configureGerritPlugin:
Arguments:
- gerrit:
Contract: $.class(opaas:Gerrit).notNull()
Body:
- If: $gerrit.instance.assignFloatingIp
Then:
- $host: $gerrit.instance.floatingIpAddress
Else:
- $host: $gerrit.instance.ipAddresses[0]
# Set gerrit related properties.
- $.instance.setHieraValue('gerrit_host', $host)
- $resources: new(sys:Resources)
- $._environment.reporter.report($this, 'Configure Jenkins Gerrit Trigger plugin...')
- $template: $resources.yaml('ConfigureGerritPlugin.template')
- $.instance.agent.call($template, $resources)
destroy:
Body:
- $.reportDestroyed()

View File

@ -0,0 +1,19 @@
FormatVersion: 2.1.0
Version: 1.0.0
Name: Configure Gerrit Trigger Plugin
Body: |
return configureGerritPlugin().stdout
Scripts:
configureGerritPlugin:
Type: Application
Version: 1.0.0
EntryPoint: configure_gerrit_plugin.sh
Files:
- configure_gerrit_plugin/templates/gerrit-trigger.xml.erb
- configure_gerrit_plugin/manifests/init.pp
- configure_gerrit_plugin.pp
Options:
captureStdout: true
captureStderr: true

View File

@ -0,0 +1,5 @@
node default {
class { 'configure_gerrit_plugin':
gerrit_host => hiera('gerrit_host')
}
}

View File

@ -0,0 +1,11 @@
#!/bin/bash
# No error if already exists.
mkdir -p /etc/puppet/modules/configure_gerrit_plugin
mkdir -p /etc/puppet/modules/configure_gerrit_plugin/manifests/
mkdir -p /etc/puppet/modules/configure_gerrit_plugin/templates/
cp configure_gerrit_plugin/manifests/init.pp /etc/puppet/modules/configure_gerrit_plugin/manifests/
cp configure_gerrit_plugin/templates/gerrit-trigger.xml.erb /etc/puppet/modules/configure_gerrit_plugin/templates/
puppet apply configure_gerrit_plugin.pp

View File

@ -0,0 +1,16 @@
class configure_gerrit_plugin (
$gerrit_host = undef,
) {
service { 'jenkins':
ensure => running,
enable => true,
}
file { '/var/lib/jenkins/gerrit-trigger.xml':
notify => Service['jenkins'],
ensure => present,
owner => 'jenkins',
group => 'jenkins',
mode => '0644',
content => template('configure_gerrit_plugin/gerrit-trigger.xml.erb'),
}
}

View File

@ -0,0 +1,75 @@
<?xml version='1.0' encoding='UTF-8'?>
<com.sonyericsson.hudson.plugins.gerrit.trigger.PluginImpl plugin="gerrit-trigger@2.20.0">
<servers class="java.util.concurrent.CopyOnWriteArrayList">
<com.sonyericsson.hudson.plugins.gerrit.trigger.GerritServer>
<name>gerrit-server</name>
<noConnectionOnStartup>false</noConnectionOnStartup>
<config class="com.sonyericsson.hudson.plugins.gerrit.trigger.config.Config">
<gerritHostName><%= @gerrit_host %></gerritHostName>
<gerritSshPort>29418</gerritSshPort>
<gerritProxy></gerritProxy>
<gerritUserName>jenkins</gerritUserName>
<gerritEMail>jenkins@mail.com</gerritEMail>
<gerritAuthKeyFile>/var/lib/jenkins/.ssh/id_rsa</gerritAuthKeyFile>
<gerritAuthKeyFilePassword></gerritAuthKeyFilePassword>
<useRestApi>false</useRestApi>
<restCodeReview>false</restCodeReview>
<restVerified>false</restVerified>
<gerritVerifiedCmdBuildSuccessful>gerrit review &lt;CHANGE&gt;,&lt;PATCHSET&gt; --message &apos;Build Successful &lt;BUILDS_STATS&gt;&apos; --verified &lt;VERIFIED&gt; --code-review &lt;CODE_REVIEW&gt;</gerritVerifiedCmdBuildSuccessful>
<gerritVerifiedCmdBuildUnstable>gerrit review &lt;CHANGE&gt;,&lt;PATCHSET&gt; --message &apos;Build Unstable &lt;BUILDS_STATS&gt;&apos; --verified &lt;VERIFIED&gt; --code-review &lt;CODE_REVIEW&gt;</gerritVerifiedCmdBuildUnstable>
<gerritVerifiedCmdBuildFailed>gerrit review &lt;CHANGE&gt;,&lt;PATCHSET&gt; --message &apos;Build Failed &lt;BUILDS_STATS&gt;&apos; --verified &lt;VERIFIED&gt; --code-review &lt;CODE_REVIEW&gt;</gerritVerifiedCmdBuildFailed>
<gerritVerifiedCmdBuildStarted>gerrit review &lt;CHANGE&gt;,&lt;PATCHSET&gt; --message &apos;Build Started &lt;BUILDURL&gt; &lt;STARTED_STATS&gt;&apos; --verified &lt;VERIFIED&gt; --code-review &lt;CODE_REVIEW&gt;</gerritVerifiedCmdBuildStarted>
<gerritVerifiedCmdBuildNotBuilt>gerrit review &lt;CHANGE&gt;,&lt;PATCHSET&gt; --message &apos;No Builds Executed &lt;BUILDS_STATS&gt;&apos; --verified &lt;VERIFIED&gt; --code-review &lt;CODE_REVIEW&gt;</gerritVerifiedCmdBuildNotBuilt>
<gerritFrontEndUrl>http://<%= @gerrit_host %>:8081/</gerritFrontEndUrl>
<gerritBuildStartedVerifiedValue>0</gerritBuildStartedVerifiedValue>
<gerritBuildSuccessfulVerifiedValue>1</gerritBuildSuccessfulVerifiedValue>
<gerritBuildFailedVerifiedValue>-1</gerritBuildFailedVerifiedValue>
<gerritBuildUnstableVerifiedValue>0</gerritBuildUnstableVerifiedValue>
<gerritBuildNotBuiltVerifiedValue>0</gerritBuildNotBuiltVerifiedValue>
<gerritBuildStartedCodeReviewValue>0</gerritBuildStartedCodeReviewValue>
<gerritBuildSuccessfulCodeReviewValue>0</gerritBuildSuccessfulCodeReviewValue>
<gerritBuildFailedCodeReviewValue>0</gerritBuildFailedCodeReviewValue>
<gerritBuildUnstableCodeReviewValue>-1</gerritBuildUnstableCodeReviewValue>
<gerritBuildNotBuiltCodeReviewValue>0</gerritBuildNotBuiltCodeReviewValue>
<enableManualTrigger>true</enableManualTrigger>
<enablePluginMessages>true</enablePluginMessages>
<buildScheduleDelay>3</buildScheduleDelay>
<dynamicConfigRefreshInterval>30</dynamicConfigRefreshInterval>
<enableProjectAutoCompletion>true</enableProjectAutoCompletion>
<projectListRefreshInterval>3600</projectListRefreshInterval>
<projectListFetchDelay>0</projectListFetchDelay>
<categories class="linked-list">
<com.sonyericsson.hudson.plugins.gerrit.trigger.VerdictCategory>
<verdictValue>Code-Review</verdictValue>
<verdictDescription>Code Review</verdictDescription>
</com.sonyericsson.hudson.plugins.gerrit.trigger.VerdictCategory>
<com.sonyericsson.hudson.plugins.gerrit.trigger.VerdictCategory>
<verdictValue>Verified</verdictValue>
<verdictDescription>Verified</verdictDescription>
</com.sonyericsson.hudson.plugins.gerrit.trigger.VerdictCategory>
</categories>
<replicationConfig>
<enableReplication>false</enableReplication>
<slaves class="linked-list"/>
<enableSlaveSelectionInJobs>false</enableSlaveSelectionInJobs>
</replicationConfig>
<watchdogTimeoutMinutes>0</watchdogTimeoutMinutes>
<watchTimeExceptionData>
<daysOfWeek/>
<timesOfDay class="linked-list"/>
</watchTimeExceptionData>
<notificationLevel>ALL</notificationLevel>
<buildCurrentPatchesOnly>
<enabled>false</enabled>
<abortNewPatchsets>false</abortNewPatchsets>
<abortManualPatchsets>false</abortManualPatchsets>
</buildCurrentPatchesOnly>
</config>
</com.sonyericsson.hudson.plugins.gerrit.trigger.GerritServer>
</servers>
<pluginConfig>
<numberOfReceivingWorkerThreads>3</numberOfReceivingWorkerThreads>
<numberOfSendingWorkerThreads>1</numberOfSendingWorkerThreads>
<replicationCacheExpirationInMinutes>360</replicationCacheExpirationInMinutes>
</pluginConfig>
</com.sonyericsson.hudson.plugins.gerrit.trigger.PluginImpl>