Commit 342941d5 by Will Daly

Merge pull request #348 from edx/will/jenkins-custom-git-plugin

Will/jenkins custom git plugin
parents 72a164af b84dcbb9
...@@ -12,8 +12,7 @@ jenkins_plugins: ...@@ -12,8 +12,7 @@ jenkins_plugins:
- { name: "copyartifact", version: "1.28" } - { name: "copyartifact", version: "1.28" }
- { name: "credentials", version: "1.8.3" } - { name: "credentials", version: "1.8.3" }
- { name: "dashboard-view", version: "2.9.1" } - { name: "dashboard-view", version: "2.9.1" }
- { name: "ec2", version: "1.18" } - { name: "ec2", version: "1.19" }
- { name: "git", version: "1.5.0" }
- { name: "github", version: "1.8" } - { name: "github", version: "1.8" }
- { name: "github-api", version: "1.44" } - { name: "github-api", version: "1.44" }
- { name: "github-oauth", version: "0.14" } - { name: "github-oauth", version: "0.14" }
...@@ -29,8 +28,8 @@ jenkins_plugins: ...@@ -29,8 +28,8 @@ jenkins_plugins:
- { name: "postbuild-task", version: "1.8" } - { name: "postbuild-task", version: "1.8" }
- { name: "s3", version: "0.5" } - { name: "s3", version: "0.5" }
- { name: "ssh-agent", version: "1.3" } - { name: "ssh-agent", version: "1.3" }
- { name: "ssh-credentials", version: "0.3" } - { name: "ssh-credentials", version: "1.5.1" }
- { name: "ssh-slaves", version: "0.25" } - { name: "ssh-slaves", version: "1.4" }
- { name: "shiningpanda", version: "0.20" } - { name: "shiningpanda", version: "0.20" }
- { name: "tmpcleaner", version: "1.1" } - { name: "tmpcleaner", version: "1.1" }
- { name: "token-macro", version: "1.8.1" } - { name: "token-macro", version: "1.8.1" }
...@@ -39,8 +38,19 @@ jenkins_plugins: ...@@ -39,8 +38,19 @@ jenkins_plugins:
- { name: "multiple-scms", version: "0.2" } - { name: "multiple-scms", version: "0.2" }
- { name: "timestamper", version: "1.5.7" } - { name: "timestamper", version: "1.5.7" }
jenkins_custom_plugins:
- { repo_name: "git-client-plugin",
repo_url: "https://github.com/edx/git-client-plugin.git",
package: "git-client.hpi",
version: "2f7fc4648fe7239918a7babd0515930d40d0a761" }
- { repo_name: "git-plugin",
repo_url: "https://github.com/edx/git-plugin.git",
package: "git.hpi",
version: "4c2fb3517ca11b04dfc06c714530f885698fcfb7" }
jenkins_debian_pkgs: jenkins_debian_pkgs:
- openjdk-7-jdk - openjdk-7-jdk
- nginx - nginx
- git - git
- maven - maven
- python-pycurl
...@@ -46,38 +46,48 @@ ...@@ -46,38 +46,48 @@
sudo_user: jenkins sudo_user: jenkins
shell: mkdir -p {{ jenkins_home }}/plugins shell: mkdir -p {{ jenkins_home }}/plugins
- name: jenkins_master | Install Jenkins plugins # We first download the plugins to a temp directory and include
sudo_user: jenkins # the version in the file name. That way, if we increment
# the version, the plugin will be updated in Jenkins
- name: jenkins_master | Download Jenkins plugins
get_url: url=http://updates.jenkins-ci.org/download/plugins/${item.name}/${item.version}/${item.name}.hpi get_url: url=http://updates.jenkins-ci.org/download/plugins/${item.name}/${item.version}/${item.name}.hpi
dest={{ jenkins_home }}/plugins/${item.name}.hpi dest=/tmp/${item.name}_${item.version}
with_items: "{{ jenkins_plugins }}"
- name: jenkins_master | Install Jenkins plugins
command: cp /tmp/${item.name}_${item.version} {{ jenkins_home }}/plugins/${item.name}.hpi
with_items: "{{ jenkins_plugins }}"
- name: jenkins_master | Set Jenkins plugin permissions
file: path={{ jenkins_home }}/plugins/${item.name}.hpi
owner={{ jenkins_user }} group={{ jenkins_group }} mode=700
with_items: "{{ jenkins_plugins }}" with_items: "{{ jenkins_plugins }}"
notify: notify:
- jenkins_master | restart Jenkins - jenkins_master | restart Jenkins
# We had to fork the git-client plugin repo # We had to fork some plugins to workaround
# to fix an obscure bug. If and when the PR gets # certain issues. If these changes get merged
# merged into the main repo and released, # upstream, we may be able to use the regular plugin install process.
# we can use the regular plugin install process. # Until then, we compile and install the forks ourselves.
# Until then, we need to compile and install it ourselves. - name: jenkins_master | Checkout custom plugin repo
- name: jenkins_master | Checkout custom git-client plugin repo git: repo=${item.repo_url} dest=/tmp/${item.repo_name} version=${item.version}
git: repo=https://github.com/edx/git-client-plugin.git with_items: "{{ jenkins_custom_plugins }}"
dest=/tmp/git-client-plugin
- name: jenkins_master | Compile custom plugins
- name: jenkins_master | Compile custom git-client plugin command: mvn -Dmaven.test.skip=true install chdir=/tmp/${item.repo_name}
command: mvn install chdir=/tmp/git-client-plugin with_items: "{{ jenkins_custom_plugins }}"
creates=/tmp/git-client-plugin/target/git-client.hpi
- name: jenkins_master | Install custom plugins
- name: jenkins_master | Install custom git-client command: mv /tmp/${item.repo_name}/target/${item.package}
command: mv /tmp/git-client-plugin/target/git-client.hpi {{ jenkins_home }}/plugins/${item.package}
{{ jenkins_home }}/plugins/git-client.hpi with_items: "{{ jenkins_custom_plugins }}"
creates={{ jenkins_home }}/plugins/git-client.hpi
notify: notify:
- jenkins_master | restart Jenkins - jenkins_master | restart Jenkins
- name: jenkins_master | Set git-client plugin permissions - name: jenkins_master | Set custom plugin permissions
file: path={{ jenkins_home }}/plugins/git-client.hpi file: path={{ jenkins_home }}/plugins/${item.package}
owner={{ jenkins_user }} group={{ jenkins_group }} owner={{ jenkins_user }} group={{ jenkins_group }} mode=700
mode=700 with_items: "{{ jenkins_custom_plugins }}"
- name: jenkins_master | Setup nginix vhost - name: jenkins_master | Setup nginix vhost
template: template:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment