イフブロ

イフブロ

インフラエンジニアのブログ

Jenkins1系から2系へのバージョンアップ

仕事場ではJenkinsを数年来活用しています。

Pluginを駆使して、色んなワークフローを組みながらあーでもない、こーでもないとトラブルしながら追いかけてきました。

昨年、Jenkins2.0が発表されてその機能の一部であるworkflow pluginを1系でも活用してきましたが大分慣れてきたので

CIに使っているJenkinsから2系にバージョンアップする事にしました。

今回はバージョンアップの手順です。

環境

CentOS  :6.4
Jenkins :Version 1.655 -> 2.6

元々はRPMでインストールしていた

手順

  • 最新のJenkins.warをダウンロードする。
su - 
cd /tmp
wget http://updates.jenkins-ci.org/latest/jenkins.war
  • warを差し替える
# Jenkins停止
/etc/init.d/jenkins stop

# war差替
mv jenkins.war jenkins.war.1.655
mv /tmp/jenkins.war jenkins.war.2.6
ln -fns jenkins.war.2.6 jenkins.war

 
  • Configを直す 以下の不具合を踏む為。

www.dollpaper.com

[JENKINS-33776] Cannot start from preview rpm - Jenkins JIRA

を参考にやってみたが、◯っと上手くは行かなかった。 素直に起動すると以下のエラー

SEVERE: Container startup failed
java.io.IOException: Failed to start a listener: winstone.Ajp13ConnectorFactory
        at winstone.Launcher.spawnListener(Launcher.java:207)
        at winstone.Launcher.<init>(Launcher.java:148)
        at winstone.Launcher.main(Launcher.java:352)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at Main._main(Main.java:246)
        at Main.main(Main.java:91)
Caused by: java.lang.UnsupportedOperationException: AJP support is removed in Winstone 3.0 due to Jetty 9 not supporting AJP. For reverse proxying, please use HTTP instead of AJP.
        at winstone.Ajp13ConnectorFactory.start(Ajp13ConnectorFactory.java:31)
        at winstone.Launcher.spawnListener(Launcher.java:205)
        ... 8 more

私は以下の様な設定変更で動くようになりました。

vi /etc/sysconfig/jenkins

# JENKINS_HTTPS_PORT="1180"
JENKINS_HTTPS_PORT="1180"

#JENKINS_AJP_PORT="8009"
JENKINS_AJP_PORT="-1"

#JENKINS_ARGS=""
JENKINS_ARGS="--httpPort=${JENKINS_PORT} --httpsPort=${JENKINS_HTTPS_PORT}"

# Jenkins起動
/etc/init.d/jenkins start

Jenkinsにアクセスすると普通に使える。View等は新しい見え方に変わっている。 Update Now!ってボタンを押すと必要なPluginとか勝手にやってくれそう。 私の場合はボタン押しても何も反応がなかった・・・が、裏ではPluginがインストールされていた様子。

このタイミングで、全てのPluginを最新版にUpdateした。