GitBucket+jenkinsで、Unityゲームの自動ビルド及び自動デプロイを行う設定について

Unityゲームのソース一式をGitBucket上で管理し、
プッシュ時にjenkinsにて自動ビルド及び自動デプロイを実行するための設定を下記に記載する。
ただし、Unityのビルド環境をjenkinsに用意するのではなく、
別のPCにてビルドを実施するようにする。
(なお、デプロイ先のWEBサーバーはjenkinsが配置されているサーバーにあるものとしている)

■UnityPc側の設定
1、Jenkins サーバーからの接続用に「Administrators」グループのユーザーを追加する。
2、「HKEY_CLASSES_ROOT\CLSID\76A64158-CB41-11D1-8B02-00600806D9B6}」に、Jenkins からの接続用ユーザーの「Full Control」を付与する。
3、受信の許可を設定する。
  TCP 135 / 139 / 445 の受信の許可
  UDP 137 / 138 の受信の許可
  C:\WINDOWS\system32\dllhost.exe の受信の許可
  C:\WINDOWS\system32\javaw.exe の受信の許可
4、Jenkins側からの呼び出しにて実行するバッチファイルを配置する。
バッチファイルにてUnityのビルドを実施するコマンドを実行する。
  ”(Unity.exeのファイルパス)” -batchmode -projectPath “(ビルドするプロジェクトのフォルダパス)” -buildWebPlayer “{ビルド結果の出力先のフォルダパス}” -quit

■Jenkins側の設定
1、Unity環境PCのノードを追加する。
—————-
ノード名:任意の文字を入力
同時ビルド数:1
リモートFSルート:(UnityPC側でソースを配置したいフォルダパスを入力)
用途:「このマシーンを特定ジョブ専用にする」を選択
起動方法:「WindowsサービスとしてこのWindowsスレーブを制御」を選択

管理者のユーザー名:(UnityPc側の設定の3で追加したユーザーのユーザー名)
パスワード:(UnityPc側の設定の3で追加したユーザーのパスワード)
ホスト:(UnityPcのホスト名を入力)
サービスを実行するユーザー:「Use Local System User」を選択
可用性:「Keep this agent online as much as possible」を選択
—————-
設定が終わったら、接続の確認を行う。

2、プロジェクトの作成について
—————-
実行するのノードを追加にチェックを入れ、2にて追加したノードを指定する。

プロジェクト名:任意の名称
GitBucket-URL:ソース管理先のURLを指定
ソースコード管理:「Git」を選択
 リポジトリURL、認証情報、ブランチ指定子を入力する。
ビルド・トリガ:「Build when a change is pushed to GitBucket」にチェックを入れ、
 その後、「Pass-through Git commit」にもチェックを入れる。

また、下記のビルドを追加する
「Windowsバッチコマンドの実行」
→UnityPC側のファイルをコピーする。
XCOPY /e /Y(Jenkins側の設定2からリモートFSルート+コピーしたい親フォルダ) (Jenkins側の特定のフォルダパス)

→コピーしたファイルをIISの指定のフォルダにコピーする。
XCOPY /e /Y(Jenkins側の特定のフォルダパス) (IISの特定のフォルダパス)

—————-

■GitBucketの設定
ソース管理をしているリポジトリのSetting画面より、
Jenkins側の設定の3にて作成したプロジェクトの、Webhook用のURLを取得し、Webhookの設定を行う。

この記事を読んだ人は以下の記事も読んでいます

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA