概要
Jenkins2.0 (執筆時点では既に 2.1) がリリースされたのでアップグレードして軽く触ってみたので所感とかをメモしておきます
事細かに追っているわけではないので間違い等がある可能性がありますのでご了承ください
環境
- Windows Server 2008 R2
- Jenkins 1.617 -> 2.1
所感とか
アップグレード方法
- Jenkins の管理からアップグレード
- 1.617 から2.1 にアップグレードした
- アップグレード後プロセスを再起動
- 本体アップグレード後にプラグインをアップグレードし再起動
- ざっと確認した感じだと動作していないプラグインはなさそう
- デザイン崩れは多少あったがロジックの下位互換はちゃんと保たれていそう
UI
- トップ画面、管理画面での UI に大きな変化はなし
- ジョブの作成画面とジョブの編集画面の見た目が大きく変わっていた
- ジョブの編集画面で「保存」と「Apply」がスクロールに追従するようになった、常にブラウザの下側にいるようになった
- なぜ「Save」「Apply」じゃないのかはわからない
- Build Pipeline Plugin のビューのスタイルがうまく適用されていなかった
- Build Pipeline Plugin は今後使うなということか
- /safeRestart は問題なく使えた
- 今回からかどうかわからないけど、Windows + Jenkins の場合 Jenkins のワークスペースがあるドライブの容量が限界に近いと以下のような警告をしてくれる
- 「Jenkinsのデータディレクトリ “C:\Program Files (x86)\Jenkins” (JENKINS_HOME)の容量がほぼいっぱいになっています。容量オーバーになる前に対処してください。」
- サーバベースのダウンロードに変更してくださいという警告が出た
You currently are using browser-based download to retrieve metadata for Jenkins plugins and tools. This has reliability issues and is not considered fully secure. Consider switching to server-based download.
- こんな警告アップグレード前は出ていただろうか
Pipeline as Code
- Pipeline as Code がデフォルトでインストールされている
- https://github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL.md
- Pipeline as Code 自体は 1.6 自体からもプラグインとしてインストールすることはできていた
- おそらく 2.0 系の目玉機能
- ビルドの内容を Groovy と呼ばれる言語で記述することが可能
- ビルドの内容を git や SVM などのバージョン管理システムで管理することができる
- ビルドの内容を git clone して実行できる、ビルドの内容の変更が管理できるようになる
- 自分の場合、これまではビルドの内容を如何に少なくしてデプロイスクリプト側に寄せるかを考えていた
- デプロイスクリプトを git で管理し、ビルドの内容を書き換えないことで、擬似的にビルドの内容をバージョン管理していた
- 今後はそれをしなくて済むようになる (と思う)
- とは言えデプロイスクリプトをいきなりすべて Groovy にするのは厳しいはず
- また、ジョブ全体の内容を管理した場合はこれまで通り XML を管理するしかなさそう
- Stage という概念がありこれがいわゆるジョブの単位とイコールっぽい
- 複数の Pipeline ジョブは作らないで一つの Pipeline ジョブの中に複数の Stage を記載する感じか
- 確かにジョブを細分化しまくると管理が大変なことになるケースが多かった気がする
- とは言え Stage を記載しまくっているビルドコードも見づらくなると思うのでこの辺の作り方にセンスが影響する感じか
- Groovy の 2.4 に対応している
最後に
超ざっとですが Jenkins 2.0 をレビューしてみました
詳細は参考サイトにある Changelog にある issue を見るのが一番いいと思います
Pipeline as Code がどこまで普及するかがポイントかなと思います
Groovy 自体そこまで難しい言語ではないので導入自体は難しくないと思います
あとは既存のジョブを如何に Pipeline ジョブへ移行できるかもポイントかなと思います
普通のジョブと Pipeline ジョブが混ざっいても問題ないですが、それもそれでなんか気持ち悪い感じもするので
0 件のコメント:
コメントを投稿