Help us understand the problem. What is going on with this article?

UnityをGitHub Actionsで動かす際にライセンス認証周りで注意するべき点

さんざん手こずったので初投稿です(やけくそ)。

GitHub ActionsでUnityのライセンス認証周りで撃沈しすぎた。
正しいライセンス認証の方法と注意点をここに記す。

GitHub Actionsのsecretsにulfファイルの内容を保存しているものとする。キーは"ulf"。

- run: |
    echo -n "$ULF" > unity.ulf
    /opt/Unity/Editor/Unity -nographics -batchmode -quit -logFile -manualLicenseFile ./unity.ulf || exit 0
  with:
    ULF: ${{ secrets.ulf }}

上記コードでライセンス認証は正しく行える。

Initiating legacy licensing module

 Load manual activation license file.

LICENSE SYSTEM [20191127 7:6:38] Load license file from: ./unity.ulf

LICENSE SYSTEM [20191127 7:6:38] Next license update check is after 2019-11-27T15:24:07


 License file loaded.

logFileの出力は上記の通り。
認証が正しく行えると「Next license update check is after ほげほげ」と出力される。

注意点0 echoのオプション

echo -n

echoコマンドのオプションに必ず-nを指定するべし。
これは最後の改行コードを出力しないという意味である。
何故か知らないが、一文字でも余計な文字が加わると認証にしくじる(10敗)。

注意点1 環境変数をダブルクォートでくくる

echo -n "$ULF"

環境変数の中身をechoしたいならばダブルクォートでくくる必要がある。
くくらない場合は単に$ULFと出力される(50敗)。

注意点2 環境変数を使う

環境変数ULF(名前は何でもいい)にsecrets.ulfを設定するべし。

echo -n ${{secrets.ulf}}

と仮に記述したらulfが複数行なのでエラー吐いてジョブが死ぬ(2敗)。

注意点3 ulfの中身は絶対に外部に見せない

ulfは機密情報なので明かしてはならない(0敗)。
デバッグ時に自分が見れる情報は全て他の人が見れると考えられる。
故に間違えてもそれに気付けない。コワイ!

感想・終わりに

一回5分~7分×60回つまり5~7時間無駄にした上で得た教訓を活かしてください。

pCYSl5EDgo
C#!好き!!(語彙不足) Unityやヴァーレントゥーガ関連の投稿をしていく予定です。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした