Skip to content

Instantly share code, notes, and snippets.

@stchar
Last active April 15, 2024 08:46
Show Gist options
  • Save stchar/b565b0270da156da92ccc4ca44c8cf7b to your computer and use it in GitHub Desktop.
Save stchar/b565b0270da156da92ccc4ca44c8cf7b to your computer and use it in GitHub Desktop.
Jenkinsfile runner shell wrapper
#!/bin/bash
# TODO use custom-war-packager-cli
# e.g. java -jar ~/bin/custom-war-packager-cli.jar
jfr_tool="jenkinsfile-runner"
jfr_version="1.0-beta-32"
jfr_url="https://github.com/jenkinsci/${jfr_tool}/releases/download/${jfr_version}/${jfr_tool}-${jfr_version}.zip"
jpm_version="2.12.15"
jpm_url="https://github.com/jenkinsci/plugin-installation-manager-tool/releases/download/${jpm_version}/jenkins-plugin-manager-${jpm_version}.jar"
# check if jenkinsfile-runnner has been installed
which ${jfr_tool}
jfr_search_rc=$?
if [[ $jfr_search_rc != 0 ]] && [[ ! -f ~/bin/${jfr_tool} ]]
then
mkdir -p ~/bin
pushd ~/bin
curl -o ${jfr_tool}.zip -IL $jfr_url
unzip -o ${jfr_tool}.zip -d jfr
ln -s jfr/bin/${jfr_tool} ${jfr_tool}
popd
fi
which ${jfr_tool}
jfr_search_rc=$?
if [[ $jfr_search_rc != 0 ]] && [[ -f ~/bin/${jfr_tool} ]]
then
export PATH="$PATH:~/bin"
fi
if [[ ! -f ~/bin/jenkins-plugin-manager.jar ]]
then
mkdir -p ~/bin
pushd ~/bin
curl -o jenkins-plugin-manager.jar -IL $jpm_url
popd
fi
# check if jenkins-plugin-manager-cli has been installed
jenkins_version=${JENKINS_VERSION:-"2.440.2"}
echo "INFO: jenkins_version = ${jenkins_version}"
if [[ ! -d jenkins-war ]]
then
${jfr_tool} -jv $jenkins_version
find . -type d -name ${jfr_tool}* -exec mv {} jenkins-war \;
fi
# install/update plugins
export JENKINS_UC_DOWNLOAD=https://archives.jenkins.io/
java -jar ~/bin/jenkins-plugin-manager.jar $@ -w ~/.${jfr_tool}/war/$jenkins_version/*.war -d plugins -f plugins.yaml --verbose
[[ -d jenkins-home ]] && rm -rf jenkins-home
mkdir -p jenkins-home
${jfr_tool} -w jenkins-war/ -p plugins/ --runHome=jenkins-home/ $@
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment