Jenkinsを2系から、1系に応急的に切り戻す
バージョンが1.6系の古のJenkinsを運用していたが、誤ってapt upgradeしてしまいバージョンが 2.1系にあがり、起動しなくなってしまった。
OSは、Ubuntu 14.04。
# apt upgradeの抜粋 Unpacking jenkins (2.179) over (1.6xx)
切り戻しをしたので、メモしておく。
ただし、応急療法なので、動作性の責任は取れない。。
結論からいうと、以下の二つの対応で、切り戻しができた。
- jenkins.warの差し替え
- /etc/init.d/jenkinsの修正
jenkins.warの差し替え
/usr/share/jenkins配下に、2系のjenkins.warがあるので、それを元々運用していたバージョンに差し替える。
# cd /usr/share/jenkins # mv jenkins.war jenkins.war.20190527a # wget https://updates.jenkins-ci.org/download/war/1.6xx/jenkins.war
/etc/init.d/jenkinsの修正
修正しないと、以下のように起動スクリプトのJavaのバージョン判定に引っかかり、起動できない。
# service jenkins status Found an incorrect Java version Java version found: java version "1.7.0_201" OpenJDK Runtime Environment (IcedTea 2.6.17) (7u211-2.6.17-0ubuntu0.1) OpenJDK 64-Bit Server VM (build 24.201-b00, mixed mode) Aborting
なので、バージョンを判定する箇所をコメントアウトする。
# diff -u /etc/init.d/jenkins.20190527a /etc/init.d/jenkins --- /etc/init.d/jenkins.20190527a 2019-05-27 18:20:38.400852420 +0900 +++ /etc/init.d/jenkins 2019-05-27 18:16:02.159208259 +0900 @@ -59,15 +59,15 @@ # Work out the JAVA version we are working with: JAVA_VERSION=$($JAVA -version 2>&1 | sed -n ';s/.* version "\(.*\)\.\(.*\)\..*".*/\1\2/p;') -if [[ ${JAVA_ALLOWED_VERSIONS[*]} =~ "$JAVA_VERSION" ]]; then - echo "Correct java version found" >&2 -else - echo "Found an incorrect Java version" >&2 - echo "Java version found:" >&2 - echo $($JAVA -version) >&2 - echo "Aborting" >&2 - exit 1 -fi +#if [[ ${JAVA_ALLOWED_VERSIONS[*]} =~ "$JAVA_VERSION" ]]; then +# echo "Correct java version found" >&2 +#else +# echo "Found an incorrect Java version" >&2 +# echo "Java version found:" >&2 +# echo $($JAVA -version) >&2 +# echo "Aborting" >&2 +# exit 1 +#fi # load environments if [ -r /etc/default/locale ]; then
正常に起動することを確認する。
# service jenkins start * Starting Jenkins Automation Server jenkins ...done. # service jenkins status Jenkins Automation Server is running with the pid 26347