| Nicolas De Loof | acb8649 | 2014-10-24 13:43:13 +0200 | [diff] [blame] | 1 | #! /bin/bash | 
|  | 2 |  | 
|  | 3 | # Parse a support-core plugin -style txt file as specification for jenkins plugins to be installed | 
|  | 4 | # in the reference directory, so user can define a derived Docker image with just : | 
| Nikolay Yurin | 390dc61 | 2015-04-20 14:46:29 +0300 | [diff] [blame^] | 5 | # | 
| Nicolas De Loof | acb8649 | 2014-10-24 13:43:13 +0200 | [diff] [blame] | 6 | # FROM jenkins | 
|  | 7 | # COPY plugins.txt /plugins.txt | 
| Justin Clayton | 8aec15c | 2015-01-23 12:19:02 -0800 | [diff] [blame] | 8 | # RUN /usr/local/bin/plugins.sh /plugins.txt | 
| Nikolay Yurin | 390dc61 | 2015-04-20 14:46:29 +0300 | [diff] [blame^] | 9 | # | 
| Nicolas De Loof | acb8649 | 2014-10-24 13:43:13 +0200 | [diff] [blame] | 10 |  | 
|  | 11 | REF=/usr/share/jenkins/ref/plugins | 
|  | 12 | mkdir -p $REF | 
|  | 13 |  | 
|  | 14 | while read spec; do | 
| Nikolay Yurin | 390dc61 | 2015-04-20 14:46:29 +0300 | [diff] [blame^] | 15 | plugin=(${spec//:/ }); | 
| Manuel Prinz | dddb965 | 2015-02-21 13:03:29 +0100 | [diff] [blame] | 16 | [[ ${plugin[0]} =~ ^# ]] && continue | 
|  | 17 | [[ ${plugin[0]} =~ ^\s*$ ]] && continue | 
| Nikolay Yurin | 390dc61 | 2015-04-20 14:46:29 +0300 | [diff] [blame^] | 18 | [[ -z ${plugin[1]} ]] && plugin[1]="latest" | 
|  | 19 | echo "Downloading ${plugin[0]}:${plugin[1]}" | 
|  | 20 | curl -s -L -f ${JENKINS_UC}/download/plugins/${plugin[0]}/${plugin[1]}/${plugin[0]}.hpi -o $REF/${plugin[0]}.hpi || echo "Failed to download ${plugin[0]}:${plugin[1]}" | 
| Nicolas De Loof | acb8649 | 2014-10-24 13:43:13 +0200 | [diff] [blame] | 21 | done  < $1 |