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自体誰もが見れないようにすれば、閲覧できる人を絞れることはできそう、です。