LoginSignup
11

More than 5 years have passed since last update.

守秘すべき内容をコード埋め込みしない対応

Posted at

System.Environment.GetCommandLineArgs()を使った事例として。

守秘性の高い情報は誰もが閲覧できないようにしたい・コードの中に埋め込みも避けたい、ので…

batchbuild.cs
public static class BatchBuild
{
    private static bool androidBuild()
    {
        string keystoreName = "default";
        string keystorePass = "default";
        string keyaliasName = "default";
        string keyaliasPass = "default";

        string[] args = System.Environment.GetCommandLineArgs();
        for (int i = 0; i < args.Length; ++i) {
            switch (args[i]) {
                case "-androidkey":
                    {
                        string androidkey = args[++i].TrimEnd('\n','\r');
                        string [] keys = androidkey.Split(',');
                        keystoreName = keys[0];
                        keystorePass = keys[1];
                        keyaliasName = keys[2];
                        keyaliasPass = keys[3];
                    }
                    break;
            }
        }
        PlayerSettings.Android.keystoreName = keystoreName;
        PlayerSettings.Android.keystorePass = keystorePass;
        PlayerSettings.Android.keyaliasName = keyaliasName;
        PlayerSettings.Android.keyaliasPass = keyaliasPass;
        :

こんな感じに書いて、以下のようにバッチ実行。

-quit -batchmode -executeMethod BatchBuild.androidBuild -androidkey keystorename,keystorepass,keyaliasname,keyaliaspass

多分おそらくjenkinsに設定を書きますが、jenkins自体誰もが見れないようにすれば、閲覧できる人を絞れることはできそう、です。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11