Add any additional plugins to the text file listing them (space delimited).
run the following command:
./install_jenkins_plugins.sh cat pluginsToDownload
cd plugins .././bulkRename.sh hpi jpi
plugins/ |
#!/bin/bash | |
old=$1 | |
new=$2 | |
files=`ls` | |
for f in $files; do | |
newName=`echo $f | sed "s/$old/$new/"` | |
echo "Moving $f -> $newName" | |
mv $f $newName | |
done |
#!/bin/bash | |
set -e | |
if [ $# -eq 0 ]; then | |
echo "USAGE: $0 plugin1 plugin2 ..." | |
exit 1 | |
fi | |
plugin_dir=./plugins/ | |
#file_owner=jenkins.jenkins | |
#mkdir -p /var/lib/jenkins/plugins | |
installPlugin() { | |
if [ -f ${plugin_dir}/${1}.hpi -o -f ${plugin_dir}/${1}.jpi ]; then | |
if [ "$2" == "1" ]; then | |
return 1 | |
fi | |
echo "Skipped: $1 (already installed)" | |
return 0 | |
else | |
echo "Installing: $1" | |
curl -L --silent --output ${plugin_dir}/${1}.hpi https://updates.jenkins-ci.org/latest/${1}.hpi | |
return 0 | |
fi | |
} | |
for plugin in $* | |
do | |
installPlugin "$plugin" | |
done | |
changed=1 | |
maxloops=100 | |
while [ "$changed" == "1" ]; do | |
echo "Check for missing dependecies ..." | |
if [ $maxloops -lt 1 ] ; then | |
echo "Max loop count reached - probably a bug in this script: $0" | |
exit 1 | |
fi | |
((maxloops--)) | |
changed=0 | |
for f in ${plugin_dir}/*.hpi ; do | |
# without optionals | |
#deps=$( unzip -p ${f} META-INF/MANIFEST.MF | tr -d '\r' | sed -e ':a;N;$!ba;s/\n //g' | grep -e "^Plugin-Dependencies: " | awk '{ print $2 }' | tr ',' '\n' | grep -v "resolution:=optional" | awk -F ':' '{ print $1 }' | tr '\n' ' ' ) | |
# with optionals | |
deps=$( unzip -p ${f} META-INF/MANIFEST.MF | tr -d '\r' | sed -e ':a;N;$!ba;s/\n //g' | grep -e "^Plugin-Dependencies: " | awk '{ print $2 }' | tr ',' '\n' | awk -F ':' '{ print $1 }' | tr '\n' ' ' ) | |
for plugin in $deps; do | |
installPlugin "$plugin" 1 && changed=1 | |
done | |
done | |
done | |
#echo "fixing permissions" | |
#chown ${file_owner} ${plugin_dir} -R | |
echo "all done" |
ace-editor | |
analysis-core | |
ansible | |
ant | |
antisamy-markup-formatter | |
apache-httpcomponents-client-4-api | |
async-http-client | |
authentication-tokens | |
bitbucket | |
bitbucket-approve | |
bitbucket-build-status-notifier | |
bouncycastle-api | |
branch-api | |
build-pipeline-plugin | |
build-timeout | |
build-token-root | |
cloudbees-bitbucket-branch-source | |
cloudbees-folder | |
command-launcher | |
conditional-buildstep | |
config-file-provider | |
credentials | |
credentials-binding | |
dashboard-view | |
delivery-pipeline-plugin | |
deployment-notification | |
display-url-api | |
docker-commons | |
docker-workflow | |
durable-task | |
email-ext | |
external-monitor-job | |
git | |
git-client | |
github | |
github-api | |
github-branch-source | |
git-parameter | |
git-server | |
gradle | |
handlebars | |
handy-uri-templates-2-api | |
jackson2-api | |
javadoc | |
jdk-tool | |
jenkins-jira-issue-updater | |
jira | |
jira-ext | |
jira-steps | |
JiraTestResultReporter | |
job-dsl | |
jquery | |
jquery-detached | |
jsch | |
junit | |
ldap | |
lockable-resources | |
mailer | |
managed-scripts | |
mapdb-api | |
matrix-auth | |
matrix-project | |
maven-plugin | |
mercurial | |
metrics | |
momentjs | |
multiple-scms | |
naginator | |
nested-view | |
node-iterator-api | |
p4 | |
pam-auth | |
parameterized-trigger | |
pipeline-build-step | |
pipeline-github-lib | |
pipeline-graph-analysis | |
pipeline-input-step | |
pipeline-milestone-step | |
pipeline-model-api | |
pipeline-model-declarative-agent | |
pipeline-model-definition | |
pipeline-model-extensions | |
pipeline-rest-api | |
pipeline-stage-step | |
pipeline-stage-tags-metadata | |
pipeline-stage-view | |
plain-credentials | |
powershell | |
project-inheritance | |
promoted-builds | |
publish-over | |
publish-over-ssh | |
puppet | |
rebuild | |
resource-disposer | |
run-condition | |
scm-api | |
script-security | |
ssh | |
ssh-agent | |
ssh-credentials | |
ssh-slaves | |
structs | |
subversion | |
support-core | |
timestamper | |
token-macro | |
trilead-api | |
vagrant | |
variant | |
vsphere-cloud | |
windows-slaves | |
workflow-aggregator | |
workflow-api | |
workflow-basic-steps | |
workflow-cps | |
workflow-cps-global-lib | |
workflow-durable-task-step | |
workflow-job | |
workflow-multibranch | |
workflow-scm-step | |
workflow-step-api | |
workflow-support | |
ws-cleanup |