狠狠撸

狠狠撸Share a Scribd company logo
HIDEAKI ISHIJIMA
Jenkins Tips
目次
? 管理者向けのTips
? 利用者向けのTips
? 管理者向けのTips
NodeJS pluginのPATH問題
? 最新(2016/8時点)の0.2.1は環境変数PATHを上書きしnpm
などのコマンドにPATHを通しているため、他の
plugin(rbenv, pyenvなど)と同時使用不可になる
? 他のplugin実行時に、.bashrcなどで設定したPATH設定
が消えてる
? 例:rbenv pluginがgit cloneできない
(gitにPATH通ってない)
NodeJS pluginのPATH問題
? 最新(2016/8時点)の0.3-SNAPSHOTには、このPATH問
題が解決しているというcommit logがあったが、今度
はPATHが設定されないという問題が発生
? 手動でbuildして、local PC上のJenkinsで確認
? https://github.com/jenkinsci/nodejs-
plugin/commit/f38e0a5d20a747d235dd1c439ebb92e
ef4b0fe8f
NodeJS pluginのPATH問題
? NodeJS pluginに独自patchすることに
? latest stableの0.2.1で PATH+ で簡単に直りそうだ
ったので
? http://javadoc.jenkins-ci.org/hudson/EnvVars.html
NodeJS pluginのPATH問題
? https://github.com/hdkshjm/nodejs-
plugin/commit/dd2579778bf8e181176a137b445626e
0d215857e
NodeJS pluginのPATH問題
? Jenkins pluginのparent pomが古いと
JDK8でのbuildに失敗する
? https://issues.jenkins-ci.org/browse/JENKINS-23239
? しかしparent pomをver upすると、pluginにいろいろ
修正が必要
? 今回はJDK7でbuild
NodeJS pluginのPATH問題
? ということで独自patch版を出しました
? https://github.com/hdkshjm/nodejs-
plugin/releases/tag/nodejs-0.2.1.1
plugin導入時には再起動したい
? 再起動しなくてもplugin installできるが
再起動することで問題発見できることがあるため
plugin導入時には再起動したい
? (例1)再起動なしにplugin install成功と表示された
しかし実際には失敗していた
? install後にjobからpluginの機能を利用できない
? 再起動後のlogからinstall失敗の詳細を把握できた
plugin導入時には再起動したい
? (例2)起動に長時間かかるpluginを発見したい
? 本番のJenkinsだとjobが多いのため起動時の
plugin loadに時間がかかった(3時間の例あり)
? https://github.com/jenkinsci/jenkins/blob/2.0/core/src/
main/java/jenkins/model/Jenkins.java#L911-L921
? Betaだとjobが少ないので問題なかった
plugin導入時には再起動したい
? (例3)global-build-stats-pluginでは再起動すると
毎回errorが表示される
? https://issues.jenkins-ci.org/browse/JENKINS-
24951
? 利用者向けのTips
Jenkins Job/Viewで半角空白禁止
? Jobの設定画面で保存時にJob top画面に戻ろうとす
るが、白いページが表示される…
? https://issues.jenkins-ci.org/browse/JENKINS-19203
Buildの最大実行時間を設定する
? “ビルドを並行実行”がOFFの場合、長時間buildして
いると、次のBuildを実行できない
? “滞留した場合にビルドを中止する”を設定しよう
GradleのmavenLocal()はJenkins
では非推奨
? Maven によりpomだけ~/.m2にcacheしていた場合
Gradleが~/.m2からpomだけ取得して
jar/warを取得してくれないのでbuild errorになる
? なぜpomだけcacheされているのかは不明
? どのJobのMavenがcacheしたのかも不明なため
Gradle3.xでJVM Mem Error
? build時に以下のErrorが発生する
? Expiring Daemon because JVM Tenured space is
exhausted
? Griddle2.xだとErrorは発生しない
Gradle3.xでJVM Mem Error
? 3.0で導入されたGradle Daemonが原因
? build時に以下の環境変数を設定する
? GRADLE_OPTS='-Dorg.gradle.jvmargs="-
Xmx2048m" -Dorg.gradle.daemon=false'

More Related Content

Jenkins tips 20161014