Blogこの広告は、90日以上更新していないブログに表示しています。Pipelinesでセルフホストランナーを構成する場合、デフォルトではPowershellスクリプトを使い、手動で起動する必要があります。この場合、何らかの事情でマシンを再起動した際に、マシンに接続してランナープログラムを手動で再起動してやる必要が出てきて面倒です。Pipelinesの場合は自動化するのにひと手間掛かります。Pipelinesランナーをマシン再起動時に自動実行する方法について残しておきます。構成したランナー上でUnityを動かした際に多少詰まった事があったため、その内容についても触れています。スケジューラを利用して自動起動する(補足)UnityのGUIが表示できるようにセットアップする手法1:WinSWを使ってサービス化するこれは、Bitbucketの公式で案内されている方法です。confluence.atlassian.comこの手法では、WinSWというOSSを利用します。github.comWinSWの実体は単独の実行ファイルで、ユーザーが作成した設定ファイルを元に、簡単にサービスを作成することができます。基本的な設定方法は前に示したAtlassianのブログ記事にあるのですが、設定用xmlファイルの設定内容が分かり辛かったので、例を下記に示します。この例ではランナープログラムに同梱されているstart.ps1内で呼び出している.jarを直接WinSW側から呼び出すよう設定しています。<delayedAutoStart/></service>上記xmlの****は、それぞれがランナーをクラウドコンソール上で登録した際に例示されるコマンドに入っている値がそれぞれ対応しています。-OAuthClientSecret※表中のDbitbucket.pipelines.runner.repository.uuidはワークスペース単位のランナーを登録する際は不要です。xmlファイルを作成して配置したら、以下の様なコマンドを実行することでサービスを登録できます。start(補足)サービスアカウントでUnityを動かす際のupmの資格情報の置き場所についてUnityで、認証が必要なupmレジストリにアクセスする為の資格情報は、ユーザーのプロファイルフォルダに設置します。サービスとして動かす場合、この資格情報は、サービスアカウントのプロファイルではない別のフォルダに置く必要があるため、注意が必要です。スケジューラを利用して自動起動するこちらの手法は、前述の手法と異なり、WinSWのようなサードパーティ製のツールに依存しません。通常通りランナーをインストールした後、起動コマンドを新しく用意したps1ファイルに保存します。前の例のように直接jarを呼び出しても良いのですが、こちらの方が設定が楽なので今回はこうしています。'..\temp'※保存場所は、start.ps1がある場所と同じ場所にして下さい。スケジューラ」を開き、基本タスクの作成を選んで以下の様に設定します。操作:プログラムの開始プログラムの開始:プログラム/スクリプト:pwsh引数の追加:(作成したスクリプトファイルの名前を入力してください。)開始:(作成したスクリプトファイルが配置されているフォルダのパスを入力してください。)ウィザードでタスクを作成した後、プロパティを開き、「ユーザーがログオンしているかどうかにかかわらず実行する」にチェックを入れます。選択後、OKを押して、ユーザーのパスワードを入力して完了です。(補足)UnityのGUIが表示できるようにセットアップする前述の二つの手段で起動したランナー上でUnityのGUIを表示する必要があるパイプラインを実行した場合、以下の様なエラーが発生して失敗することがあります。()情報が少ない為、直接的な原因は推測するしかないのですが、どうやらサービスとして実行する等、対話型インターフェースを利用しないプログラム上ではUnityのGUIを表示する処理が失敗する様です。スケジューラ―を使用し、ユーザーとしてログインすることを必須とすることで回避が可能です。合わせて、トリガーもログオン時に変更しておきます。アカウントと合わせておきます。ログオン時の起動に変更する為、動作にはユーザーとしてのログオンが必須になります。ユーザーが一人かつパスワードが設定されていない場合は自動ログオンされますが、サーバーマシンでパスワードが設定されていない事はほぼ無いでしょう。完全に自動でランナーが起動するようにしたい場合は、別途Windowsの自動ログオンの設定をしてください。読者になる広告を非表示にする関連記事2023-12-15ランタイムで読み込んだHumanoidモデルに読み込んだモーションを適用するこんにちは、エンジニアの渡辺(@mochi_neko_7)です。5はてなブログをはじめよう!Synamonさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。