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を直す 以下の不具合を踏む為。
[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した。