Jenkins 社内勉強会を行いました

2017.03.21

木村 竜介
エンジニア

エバーセンスでは人がやらなくてもいいことを自動的に実行するCI環境としてJenkinsを導入しています。

最近ではクラウドでも色々なサービス

がありますが、あえて枯れている技術としてJenkinsを導入しています。

理由は僕が知っていて、学習コストが少なく導入できるのが一番の理由です。
ただ社内で実際にJenkinsを使用したことがあるのが、僕一人だけだったので今回は初めての人向けにJenkins勉強会を実施しました。
今回はその内容の一部を書いていこうかと思っています。

アジェンダ

  • Jenkinsとは?
  • Master,Slaveの構成と役割について
  • jobを作成してみる -> 新規jobの追加
  • jobの定期実行をしてみる -> job -> 設定
  • ビルドパラメーターの設定
  • 下流jobの設定 -> 設定 -> trigger parameterzied othoer job
  • slaveを作成してみる -> ノードの追加
  • Slackの通知設定 -> Plugin Slack Notification

Jenkinsとは?

まずはJenkinsってどういうもの?というセッションから開始しました。
▼以下エンジニアみんなの意見

  • CIサービス
  • 便利なcron
  • 旧hudson
  • 等々

なんだみんな存在はしってるじゃんwという最初の印象でした。
ですが実際触ろうと思うと、Jenkinsが色々便利すぎて設定の仕方がよく分からないというのが最初のJenkinsのつまづきポイントかと思います。
実際Jenkinsを1年程設置していましたが、結局今まで自分一人でメンテしてました。
(というか早くJenkinsの勉強会開けばよかった。と勉強会後に気づきましたw)

Master,Slaveの構成と役割について

Jenkins便利!!と思うとjobを次々と追加したくなります。
そこでJenkins初心者の最初のつまずきポイント「Jenkinsが重くて動かない」に陥りがちです。
そこで弊社Jenkins環境はMaster,Slave構成でJenkinsを構築しています。
みんなに構成の説明と、実際のjobの実行の仕方について説明をしました。

jobを実際に作ってもらう

Jenkinsは実際触ってもらうのがてっとり早いです。

そこで事前にansibleでJenkinsの環境を一発でつくれるようにリポジトリを作成してそれを事前にメンバーに配布して実際自分だけのJenkins環境を構築してもらって、myJenkins環境を用意してjobの作成方法を実際に触ってもらいました。

  • jobの新規作成方法
  • jobの定期実行方法
  • ビルドパラメーターの設定方法
  • 下流jobの設定方法
  • Slack通知設定方法

実際触ると質問も出始めて、Jenkinsの使うイメージがメンバーに湧いてきたのでは?と思っております。

Slaveの設定方法

エバーセンスでは、サーバーは全てAWSで構成されているので実際にEC2のインスタンスをスレーブで実行する設定方法などを教授。
EC2のサーバーを操れるようになると、俄然エンジニア魂に火がつきますよねw
Jenkinsの使ったシステムの妄想がますます湧いてきます。

Jenkinsのセキュリティについて

Jenkinsは大変便利なのですが、Jenkinsの情報が第三者に漏れてしまうと、大事故につながります。
そこで、Jenkinsのセキュリティについても少しお話をしました。

内容は伏せますが、みんな「そりゃ怖いわ・・・・」というリアクションをいただけました。
そうです。便利な分だけJenkinsは恐ろしいのですw

恐ろしさを知ってもらった上でどうJenkinsを活用するのがというところが重要なのです。

勉強会を終えて

さて勉強会を開催して自分だけ満足してはいけません。顧客から勉強会の意見を聞くことも重要です。
以下勉強会後のエンジニアメンバーの意見になります。

  •  jenkinsの使い方がわかってよかったです。セキュリティの脅威がよくわかって、気をつけようと思いました。
  • 教科書的な硬い説明ではなく、jenkinsを使いながら木村さんの言葉で説明してもらったので、概要は理解できました。今後は使いながら1つ1つ覚えていきたいです。
  • 今まで既に作られたjenkinsのジョブを見ることしかなかったので、実際に設定して雰囲気がわかりました。手動定期実行とか面倒くさいことしたくないので、jenkinsで楽したいです。
  • 理解できたか  :★★★★★
  • 実務で使えそうか:★★★★☆
  • 楽できそうか  :★★★★★
  • 座学、ハンズオンのバランスが良かったです。

なかなか良さそうなリアクションですw

さて最後にエバーセンスではJenkinsやansibleを利用して、「家族を幸せにすることで、笑顔溢れる社会をつくる」エンジニアを絶賛募集しております。
Jenkinsなどに興味がある方はお気軽募集してください。

以上Jenkinsおじさんでしたー!