Jenkins使用记录-向Unity传参

一.Jenkins中设置构建参数:

1.增加WorkPath之后的第二个构建参数“Version”,默认值0.1。

2.增加第三个构建字符参数“Name”,默认值RealFram。

3.增加第四个构建字符参数“Build”,默认值0。

4.增加第五个构建布尔值参数“Debug”,默认值true。

二.Jenkins中设置需要给Unity3d构建时传递的参数:

1.在Unity3d命令行中的调用编辑器方法后面添加参数,参数形式为Paraname=$Paraname,用空格隔开。

2.最终形式:"-projectpath E:\MindjetsManage\Jenkins_Learning\RealFram -quit -batchmode -executeMethod  BuildApp.BuildPC Version=$Version Name=$Name Build=$Build Debug=&Debug  -logFile "D:\log.txt""

三.Unity中接收构建参数:

1.编写存储参数的数据类:

public class BuildSetting
{
    //版本号
    public string Version = "";
    //build次数
    public string Build = "";
    //程序名称
    public string Name = "";
    //是否debug
    public bool Debug = true;
    //渠道
    public Place Place = Place.None;
    //多线程渲染
    public bool MulRendering = true;
    //是否IL2CPP
    public bool IL2CPP = false;
    //是否开启动态合批
    public bool DynamicBatching = false;
}

2.接收构建参数的方法:

    /// <summary>
    /// 根据jenkins的参数读取到buildsetting里
    /// </summary>
    /// <returns></returns>
    static BuildSetting GetPCBuildSetting()
    {
        string[] parameters = Environment.GetCommandLineArgs();
        BuildSetting buildSetting = new BuildSetting();
        foreach (string str in parameters)
        {
            if (str.StartsWith("Version"))
            {
                var tempParam = str.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries);
                if (tempParam.Length == 2)
                {
                    buildSetting.Version = tempParam[1].Trim();
                }
            }
            else if (str.StartsWith("Build"))
            {
                var tempParam = str.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries);
                if (tempParam.Length == 2)
                {
                    buildSetting.Build = tempParam[1].Trim();
                }
            }
            else if (str.StartsWith("Name"))
            {
                var tempParam = str.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries);
                if (tempParam.Length == 2)
                {
                    buildSetting.Name = tempParam[1].Trim();
                }
            }
            else if (str.StartsWith("Debug"))
            {
                var tempParam = str.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries);
                if (tempParam.Length == 2)
                {
                    bool.TryParse(tempParam[1], out buildSetting.Debug);
                }
            }
        }
        return buildSetting;
    }

3.设置PlayerSetting参数:

/// <summary>
    /// 根据读取的数据在unity里面设置对应
    /// </summary>
    static string SetPcSetting(BuildSetting setting)
    {
        string suffix = "_";
        if (!string.IsNullOrEmpty(setting.Version))
        {
            PlayerSettings.bundleVersion = setting.Version;
            suffix += setting.Version;
        }
        if (!string.IsNullOrEmpty(setting.Build))
        {
            PlayerSettings.macOS.buildNumber = setting.Build;
            suffix += "_" + setting.Build;
        }
        if (!string.IsNullOrEmpty(setting.Name))
        {
            PlayerSettings.productName = setting.Name;
        }
        if (setting.Debug)
        {
            EditorUserBuildSettings.development = true;
            EditorUserBuildSettings.connectProfiler = true;
            suffix += "_Debug";
        }
        else
        {
            EditorUserBuildSettings.development = false;
        }
        return suffix;
    }

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值