Jenkinsユーザ・カンファレンス東京2018に参加しました #jenkinsstudy #juc2018
3年ぶりの開催となるJenkinsユーザ・カンファレンス東京2018に参加・登壇発表してきました。
私の発表
以前参画していたプロジェクトでの成果をJenkinsの話題を中心にまとめて話しました。
発表の内容は一緒のプロジェクトに参画していた@int128さんの成果がベースなのですが、うまく自分で咀嚼して資料にまとめて発表できたのかなと思います。
50分の枠でしたが、30分くらいで終わってしまって残りは質疑でつなぎました。質疑も活発に出てよかったです。
思いの外会場が広くて緊張しましたが、なんとか無事終わってよかったです。
基調講演①
基調講演ではCloudBees, Inc. CTOの川口さん( @kohsukekawa )より最新のJenkinsにおけるプロジェクトに関して5つ紹介がありました。
1. Jenkins Pipeline
JenkinsのジョブをJenkinsflieで定義して管理・運用するやり方です。FreeStyleよりも管理性が高まります。
2016年に公開されてから利用者は100倍近くに増えたそうです。
BlueOceanを使ったパイプラインは将来的にはJenkinsのコアな部分として統合したいとのことです。
2. Jenkins Evergreen
Jenkins Evergreenは「Jenkinsのジョブを5分ないし5クリック以内に実行できる」ことを目標にしているJenkinsをより使いやすくするプロジェクトらしい。
Jenkins環境をChromeのように自動アップデートさせるような構想もあるらしい。
3. Jenkins Configuration as Code
Jenkinsの設定をすべてコードで管理するという構想らしい。ちょうど最近1.0が出た模様。
これはぜひ触ってみたい。
Jenkinsやプラグインの設定があるYamlとジョブ定義があるJenkinsfileがあれば瞬時に設定済みのJenkinsが作れるしアップデートも楽になりそう。
4. CloudNative Jenkins
JenkinsをGKE、EKS、AKS等のマネージドk8s上で動かすことで運用をより簡易にするプロジェクト。
例えばAWSの場合はArtifactをS3において、ログがCloudWatchLogsに転送されるような感じ。
5. Jenkins X
Kubernetes環境でのCI/CDを楽にできるようにするツールの立ち位置。
Kuberentes周りは群衆割拠でついていくのが大変だ・・・。
まとめ
紹介されたプロジェクトは1.x系のFreeStyleジョブの時代と比べて大きく変貌をとげており、川口さんの言葉通り「Jenkinsは昔と違って進化している」、ということを実感しました。
基調講演②
もう一つの基調講演はJenkins Xの開発者である James Rawlings さんの公演でした。
JenkinsXを使ったデモではGitOpsでKubernetes上のStaging環境やProduction環境へ自動でCDされる様子を見せてくれました。
Kubernetes周りのCI/CDはまだまだ未調査なのでJenkinsX以外にどんなものがあるのか、JenkinsXがどういう利点があるのかを調べてみようかなと思います。
発表の中で紹介されていた「Accelarate」という本の翻訳版がもうすぐ出るらしいので読まねば。
Accelerate: The Science Behind Devops: Building and Scaling High Performing Technology Organizations
- 作者: Nicole, Ph.D. Forsgren,Jez Humble,Gene Kim
- 出版社/メーカー: It Revolution Pr
- 発売日: 2018/03/27
- メディア: ペーパーバック
- この商品を含むブログを見る
LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する (impress top gear)
- 作者: Nicole Forsgren Ph.D.,Jez Humble,Gene Kim,武舎広幸,武舎るみ
- 出版社/メーカー: インプレス
- 発売日: 2018/11/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
その他の発表
以下資料を引用します。資料はあとで公式ブログにアップにもアップされるようです。
www.slideshare.net
www.slideshare.net
www.slideshare.net
www.slideshare.net
Twiitter実況
参加者が多かったのか、会場にWiFIと机があったからか実況も活発だったと思います。
私の発表に関するフィードバックもあって嬉しかったです。
本格開発前にCI/CDパイプラインを組むの、かなり重要なプラクティス。場合によっては作るものに影響する / 新規にものを作る必要があるので、WFだと特に。#jenkinsstudy
— Yuki Iwanari (@yuki_iwnr) 2018年9月23日
terraform,kops,helmでAWSにK8sを構築。その上でJenkinsに加え、GitLabや認証用にKeycloakを立てた
— もりはや (@morihaya55) 2018年9月23日
ECS選ばなかった理由を聞きたい#jenkinsstudy #juc2018
GitLabCIを採用せず、Jenkinsを採用した理由。
— kabukawa (@kabukawa) 2018年9月23日
→ AWSに直接つながるようになったらJenkinsの立場が無いかも
#juc2018 #jenkinsstudy
Q : なぜECS使わなかったのか
— ともか (@usadamasa) 2018年9月23日
A : ECSのスキルセットがチームになかったのでk8sを使うほうに倒した。
#juc2018 #Jenkinsstudy
Jenkinsのような永続化ボリュームの必要なコンテナを運用するにはECSよりk8sの方が向いているという理由もあります(中の人です) #JUC2018 #jenkinsstudy https://t.co/cWn658RQky
— 🐰 (@int128) 2018年9月23日
最初はJenkins AgentのCIの中でMySQLのDockerコンテナを起動してて使ってましたが、途中からRDSにAgent毎のDATABASE用意して使うようにして競合を防いでました!
— maa takamii🐧 (@takamii228) 2018年9月23日
AWSとJenkinsを活用して1年間で約500回商用デプロイした話とKubernetes活用 #JenkinsStudy #juc2018 https://t.co/vObWEtAwkM
— coswata (@coswata) 2018年9月23日
今日聞けなかったセッションの方だけど、コッチも参考になる。
まとめ
正直、近年のCI/CDの事例を見てるとGitHub + CircleCIと各社パブリッククラウドのマネージドサービスを使ったデリバリーをよく目にするので、Jenkins大丈夫なのかなという一抹の不安を抱えていました。
でも川口さんの公演やみなさんの発表を聞いて、FreeStyleでポチポチ設定してたJenkinsに始まり、PipelineスクリプトでGitOpsがさらに進み、今後はCloudNativeやKubernetes対応でさらに進化するであろうJenkinsの未来を感じることができました。
このような素晴らしいイベントでの発表の機会をくださったJenkinsユーザ会のみなさん、運営のみなさんありがとうございました。