Skip to content

Instantly share code, notes, and snippets.

@tfitch
Created December 8, 2013 08:30
Show Gist options
  • Save tfitch/7854641 to your computer and use it in GitHub Desktop.
Save tfitch/7854641 to your computer and use it in GitHub Desktop.
Managing Jenkins plugins with Chef
default.jenkins.plugins = {
# a snippet of what would be a long list
'instant-messaging' => '1.28',
'jabber' => '1.25',
'jobConfigHistory' => '1.39'
}
# provisions Jenkins plugins which are defined in attributes/default.rb
node.jenkins.plugins.each_pair do |plugin, ver|
jenkins_plugin plugin do
version ver
end
end
# configuring a Jenkins we go
default.jenkins.server.install_method = 'war'
default.jenkins.server.version = '1.542'
# configure the http proxy setup
default.jenkins.http_proxy.variant = 'nginx'
default.jenkins.http_proxy.host_name = 'mybuilder.example.com'
default.jenkins.http_proxy.ssl.enabled = true
default.jenkins.http_proxy.ssl.redirect_http = true # forces http traffic on to https :)
# this will reflect the version of Jenkins being installed (to the minor version)
# revving the patch version indicates a plugin was being updated
version '1.542.0'
depends 'jenkins', '= 1.2.2'
# the community Jenkins cookbook is a good one
include_recipe 'jenkins::server'
# and the nginx front to Jenkins, Apache is available too
include_recipe 'jenkins::proxy'
# now the systematic control of all plugins - specific versions for everything to leave no doubt
# the plugin name is from the Plugin ID value on a plugin page.
# FIRST the standard install ones on a vanilla system that for some reason aren't updated
# https://wiki.jenkins-ci.org/display/JENKINS/Credentials+Plugin
jenkins_plugin 'credentials' do
version '1.9.3'
end
# https://wiki.jenkins-ci.org/display/JENKINS/CVS+Plugin
jenkins_plugin 'cvs' do
version '2.11'
end
# https://wiki.jenkins-ci.org/display/JENKINS/LDAP+Plugin
jenkins_plugin 'ldap' do
version '1.6'
end
# https://wiki.jenkins-ci.org/display/JENKINS/Monitoring+external+jobs
jenkins_plugin 'external-monitor-job' do
version '1.2'
end
# https://wiki.jenkins-ci.org/display/JENKINS/Maven+Project+Plugin
jenkins_plugin 'maven-plugin' do
version '2.0'
end
# https://wiki.jenkins-ci.org/display/JENKINS/PAM+Authentication+Plugin
jenkins_plugin 'pam-auth' do
version '1.1'
end
# https://wiki.jenkins-ci.org/display/JENKINS/SSH+Credentials+Plugin
jenkins_plugin 'ssh-credentials' do
version '1.6'
end
# https://wiki.jenkins-ci.org/display/JENKINS/SSH+Slaves+plugin
jenkins_plugin 'ssh-slaves' do
version '1.5'
end
# https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin
jenkins_plugin 'subversion' do
version '1.54'
end
# THEN all the ones we add for our own usage
# this list is optimized for building Node.js apps and skips lots of Maven/Java plugins
# https://wiki.jenkins-ci.org/display/JENKINS/AnsiColor+Plugin - ansicolor - 0.3.1
jenkins_plugin 'ansicolor' do
version '0.3.1'
end
# https://wiki.jenkins-ci.org/display/JENKINS/Artifactory+Plugin - artifactory - 2.1.8
jenkins_plugin 'artifactory' do
version '2.2.1'
end
# https://wiki.jenkins-ci.org/display/JENKINS/Audit+Trail+Plugin - audit-trail - 1.8
jenkins_plugin 'audit-trail' do
version '1.8'
end
# https://wiki.jenkins-ci.org/display/JENKINS/Embeddable+Build+Status+Plugin
jenkins_plugin 'embeddable-build-status' do
version '1.4'
end
# https://wiki.jenkins-ci.org/display/JENKINS/eXtreme+Feedback+Panel+Plugin - xfpanel - 1.2.2
jenkins_plugin 'xfpanel' do
version '1.2.2'
end
# https://wiki.jenkins-ci.org/display/JENKINS/Gatling+Plugin - gatling - 1.0.3
jenkins_plugin 'gatling' do
version '1.0.3'
end
# https://wiki.jenkins-ci.org/display/JENKINS/SCM+API+Plugin
jenkins_plugin 'scm-api' do
version '0.2'
end
# https://wiki.jenkins-ci.org/display/JENKINS/SSH+plugin - ssh - 2.3
jenkins_plugin 'ssh-agent' do
version '1.4.1'
end
# https://wiki.jenkins-ci.org/display/JENKINS/Git+Client+Plugin - git-client - 1.4.0
jenkins_plugin 'git-client' do
version '1.4.6'
end
# https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin
# git needed scm-api, ssh-agent and git-client so I put them above
jenkins_plugin 'git' do
version '2.0'
end
# https://wiki.jenkins-ci.org/display/JENKINS/Global+Build+Stats+Plugin - global-build-stats - 1.3
jenkins_plugin 'global-build-stats' do
version '1.3'
end
# https://wiki.jenkins-ci.org/display/JENKINS/Gravatar+Plugin - gravatar - 1.1
jenkins_plugin 'gravatar' do
version '1.1'
end
# https://wiki.jenkins-ci.org/display/JENKINS/Instant+Messaging+Plugin - instant-messaging - 1.27
jenkins_plugin 'instant-messaging' do
version '1.28'
end
# https://wiki.jenkins-ci.org/display/JENKINS/Jabber+Plugin - jabber - 1.25
jenkins_plugin 'jabber' do
version '1.25'
end
# https://wiki.jenkins-ci.org/display/JENKINS/JobConfigHistory+Plugin - jobConfigHistory - 2.4
jenkins_plugin 'jobConfigHistory' do
version '2.5'
end
# https://wiki.jenkins-ci.org/display/JENKINS/JIRA+Plugin
jenkins_plugin 'jira' do
version '1.39'
end
# and many more, this only gets to the letter 'J'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment