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

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

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

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

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

Kutani Mio

March 07, 2020
Tweet

More Decks by Kutani Mio

Other Decks in Programming

Transcript

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

    View Slide

  2. はじめに

    View Slide

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

    View Slide

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

    View Slide

  5. 本日のお品書き
    事例1
    手動での流れ作業を

    ボタン1つで自動実行
    基本のき
    Jenkins紹介

    導入方法
    事例2 ナイトリーで自動実行

    View Slide

  6. ってなんだろう?

    View Slide

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

    View Slide

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

    View Slide

  9. CIツールのメリット
    ★ 作業の効率化が図れる
    ★ ヒューマンエラーが減る
    ★ 問題発生から解決までのタイムラグが少なくなる
    ★ Unity、Maya、VS、Git、Stashなどの

    異なるツール同士でも連結させて自動化プロセスを

    作成することが可能

    View Slide

  10. CIツールのデメリット
    - 導入して自動化環境を作り上げるには、

    ある程度の工数がかかる。
    - 手動に比べると柔軟性は多少低い。

    いろいろ工夫する必要がある。
    - 自前で環境用意する場合にスペックは

    そこそこ気にして揃える必要がある。
    - 利用者が増えていくと管理の工数も増えていく。

    View Slide

  11. いろいろなCIツール

    View Slide

  12. 他CIツールと比較したJENKINS
    ★ 基本無料
    ★ 1200以上のプラグインが存在(有料のもの込み)
    ★ Jenkins自体広く使われているため情報が多く、

    エラーとかに出くわしても解決しやすい
    - 他CIツールと比べると複雑になりがち
    - メンテナンスが属人化しがち
    - Jenkins自体とかプラグインのアプデが難しい

    View Slide

  13. JENKINSの導入
    https://qiita.com/4_mio_11/items/de90df3682323c30319a
    上記記事でwin10での導入・環境構築方法を
    記載してはいますが、
    「Jenkins 導入」とか「Jenkins 構築」とか
    漁ればいろいろ見つかります。

    View Slide

  14. 事例1
    手動での流れ作業を

    ボタン1つで自動実行

    View Slide

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

    ツール
    データを圧縮したり加工したり

    なんやかんやする処理を手動発火
    UNITY 加工された処理を反映させるための処理を手動発火
    GIT とか SVN とかの手動更新
    GIT とか SVN とかの手動更新 と 手動PUSH

    View Slide

  16. JENKINSにて
    Git・SVN更新のコマンド実行

    Unityなどをバッチモードで起動し

    メソッドを指定して引数を渡し実行

    Git・SVN更新とPushのコマンド実行
    ジョブ化

    View Slide

  17. ジョブ(プロジェクト)について
    一連の工程を

    一つにまとめたときの

    単位です

    View Slide

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

    View Slide

  19. 流れ作業の自動化(AFTER)
    ジョブの失敗・成功通知も

    Slackへつなぐ無料プラグインで!

    誰がどのジョブを実行したかも丸見え
    ※画像はダミーです

    View Slide

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

    View Slide

  21. ナイトリーの自動化(BEFORE)
    テクスチャやFBXなどのデータをテスト環境に反映させるために…
    扱うデータの分量が多く、

    重い処理となるため

    夜間に回したい…

    (けどその時間に

    誰がジョブを

    実行するの?)

    View Slide

  22. JENKINSにてスケジュール設定
    スケジュールを指定することで

    決めた日・時間にジョブを実行できる

    View Slide

  23. 最後に

    View Slide

  24. 最後に
    みんなも業務効率化のために


    Jenkinsおじさん(お姉さん・お兄さん)になろう

    View Slide

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

    View Slide