Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Jenkins自動化入門〜事例を添えて〜

 Jenkins自動化入門〜事例を添えて〜

バーチャル空間勉強会 #0 にて登壇時の資料となります。
https://nyamucoro.connpass.com/event/169171/

Jenkinsのざっくりとした概要が伝われば嬉しいです。

C6744f9cb14693af0f5efe232ed302bf?s=128

Kutani Mio

March 07, 2020
Tweet

Transcript

  1. 自動化入門 2020/3/7 バーチャル空間勉強会 #0 九谷 美生(ろっさむ) - - - 事例を添えて- -

    -
  2. はじめに

  3. 今回のセッションの目標 「Jenkins何となく業務で触ったことはあるけど 実際どんなことができるのかは そこまで知らないんだよね…」 って人が、なんとなくわかったような気になれるまでが 本日のゴールです⭐

  4. 自己紹介 ろっさむ と申します。 Twitter:@4_mio_11 2018.3 -〜MSMVP(VSDT)系最弱イーブイ ギターとかUE4とかC#とかゲームAIが好きです

  5. 本日のお品書き 事例1 手動での流れ作業を
 ボタン1つで自動実行 基本のき Jenkins紹介
 導入方法 事例2 ナイトリーで自動実行

  6. ってなんだろう?

  7. JENKINSについて Jenkinsとは CIツールです

  8. JENKINSについて CIとは Continuous Integration (継続的インテグレーション) の略で ビルド→テスト→デプロイ の流れを 自動化して定期的に行い、 問題を早期発見・対応すること

  9. CIツールのメリット ★ 作業の効率化が図れる ★ ヒューマンエラーが減る ★ 問題発生から解決までのタイムラグが少なくなる ★ Unity、Maya、VS、Git、Stashなどの
 異なるツール同士でも連結させて自動化プロセスを


    作成することが可能
  10. CIツールのデメリット - 導入して自動化環境を作り上げるには、
 ある程度の工数がかかる。 - 手動に比べると柔軟性は多少低い。
 いろいろ工夫する必要がある。 - 自前で環境用意する場合にスペックは
 そこそこ気にして揃える必要がある。

    - 利用者が増えていくと管理の工数も増えていく。
  11. いろいろなCIツール

  12. 他CIツールと比較したJENKINS ★ 基本無料 ★ 1200以上のプラグインが存在(有料のもの込み) ★ Jenkins自体広く使われているため情報が多く、
 エラーとかに出くわしても解決しやすい - 他CIツールと比べると複雑になりがち

    - メンテナンスが属人化しがち - Jenkins自体とかプラグインのアプデが難しい
  13. JENKINSの導入 https://qiita.com/4_mio_11/items/de90df3682323c30319a 上記記事でwin10での導入・環境構築方法を 記載してはいますが、 「Jenkins 導入」とか「Jenkins 構築」とか 漁ればいろいろ見つかります。

  14. 事例1 手動での流れ作業を
 ボタン1つで自動実行

  15. 流れ作業の自動化(BEFORE) テクスチャやFBXなどのデータをテスト環境に反映させるために… UNITY 必要な追加データを生成する処理を手動発火 DCC
 ツール データを圧縮したり加工したり
 なんやかんやする処理を手動発火 UNITY 加工された処理を反映させるための処理を手動発火

    GIT とか SVN とかの手動更新 GIT とか SVN とかの手動更新 と 手動PUSH
  16. JENKINSにて Git・SVN更新のコマンド実行 ↓ Unityなどをバッチモードで起動し
 メソッドを指定して引数を渡し実行 ↓ Git・SVN更新とPushのコマンド実行 ジョブ化

  17. ジョブ(プロジェクト)について 一連の工程を
 一つにまとめたときの
 単位です

  18. 流れ作業の自動化(AFTER) テクスチャやFBXなどのデータをテスト環境に反映させるために… ※画像はダミーです JENKINS開いて必要なパラメータを記載しビルドボタン押すだけ

  19. 流れ作業の自動化(AFTER) ジョブの失敗・成功通知も
 Slackへつなぐ無料プラグインで!
 誰がどのジョブを実行したかも丸見え ※画像はダミーです

  20. 事例2 ナイトリーで 自動実行

  21. ナイトリーの自動化(BEFORE) テクスチャやFBXなどのデータをテスト環境に反映させるために… 扱うデータの分量が多く、
 重い処理となるため
 夜間に回したい…
 (けどその時間に
 誰がジョブを
 実行するの?)

  22. JENKINSにてスケジュール設定 スケジュールを指定することで
 決めた日・時間にジョブを実行できる

  23. 最後に

  24. 最後に みんなも業務効率化のために
 
 Jenkinsおじさん(お姉さん・お兄さん)になろう

  25. ご清聴 有難うございました