バーチャル空間勉強会 #0 にて登壇時の資料となります。 https://nyamucoro.connpass.com/event/169171/
Jenkinsのざっくりとした概要が伝われば嬉しいです。
自動化入門2020/3/7バーチャル空間勉強会 #0九谷 美生(ろっさむ)- - - 事例を添えて- - -
View Slide
はじめに
今回のセッションの目標「Jenkins何となく業務で触ったことはあるけど実際どんなことができるのかはそこまで知らないんだよね…」って人が、なんとなくわかったような気になれるまでが本日のゴールです⭐
自己紹介ろっさむ と申します。Twitter:@4_mio_112018.3 -〜MSMVP(VSDT)系最弱イーブイギターとかUE4とかC#とかゲームAIが好きです
本日のお品書き事例1手動での流れ作業を ボタン1つで自動実行基本のきJenkins紹介 導入方法事例2 ナイトリーで自動実行
ってなんだろう?
JENKINSについてJenkinsとはCIツールです
JENKINSについてCIとはContinuous Integration(継続的インテグレーション)の略でビルド→テスト→デプロイの流れを自動化して定期的に行い、問題を早期発見・対応すること
CIツールのメリット★ 作業の効率化が図れる★ ヒューマンエラーが減る★ 問題発生から解決までのタイムラグが少なくなる★ Unity、Maya、VS、Git、Stashなどの 異なるツール同士でも連結させて自動化プロセスを 作成することが可能
CIツールのデメリット- 導入して自動化環境を作り上げるには、 ある程度の工数がかかる。- 手動に比べると柔軟性は多少低い。 いろいろ工夫する必要がある。- 自前で環境用意する場合にスペックは そこそこ気にして揃える必要がある。- 利用者が増えていくと管理の工数も増えていく。
いろいろなCIツール
他CIツールと比較したJENKINS★ 基本無料★ 1200以上のプラグインが存在(有料のもの込み)★ Jenkins自体広く使われているため情報が多く、 エラーとかに出くわしても解決しやすい- 他CIツールと比べると複雑になりがち- メンテナンスが属人化しがち- Jenkins自体とかプラグインのアプデが難しい
JENKINSの導入https://qiita.com/4_mio_11/items/de90df3682323c30319a上記記事でwin10での導入・環境構築方法を記載してはいますが、「Jenkins 導入」とか「Jenkins 構築」とか漁ればいろいろ見つかります。
事例1手動での流れ作業を ボタン1つで自動実行
流れ作業の自動化(BEFORE)テクスチャやFBXなどのデータをテスト環境に反映させるために…UNITY 必要な追加データを生成する処理を手動発火DCC ツールデータを圧縮したり加工したり なんやかんやする処理を手動発火UNITY 加工された処理を反映させるための処理を手動発火GIT とか SVN とかの手動更新GIT とか SVN とかの手動更新 と 手動PUSH
JENKINSにてGit・SVN更新のコマンド実行↓Unityなどをバッチモードで起動し メソッドを指定して引数を渡し実行↓Git・SVN更新とPushのコマンド実行ジョブ化
ジョブ(プロジェクト)について一連の工程を 一つにまとめたときの 単位です
流れ作業の自動化(AFTER)テクスチャやFBXなどのデータをテスト環境に反映させるために…※画像はダミーですJENKINS開いて必要なパラメータを記載しビルドボタン押すだけ
流れ作業の自動化(AFTER)ジョブの失敗・成功通知も Slackへつなぐ無料プラグインで! 誰がどのジョブを実行したかも丸見え※画像はダミーです
事例2ナイトリーで自動実行
ナイトリーの自動化(BEFORE)テクスチャやFBXなどのデータをテスト環境に反映させるために…扱うデータの分量が多く、 重い処理となるため 夜間に回したい… (けどその時間に 誰がジョブを 実行するの?)
JENKINSにてスケジュール設定スケジュールを指定することで 決めた日・時間にジョブを実行できる
最後に
最後にみんなも業務効率化のために Jenkinsおじさん(お姉さん・お兄さん)になろう
ご清聴有難うございました