• Jenkins 集成Unity3D Xcode


    如果Mac 上没有安装brew。先安装:ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

    首先安装jenkins #: brew install jenkins        brew 官网:http://brew.sh   或直接从Jenkins下载:http://jenkins-ci.org

    安装完成后浏览器打开:http://localhost:8080   Jenkins 默认地址

    首先请先安装两个插件: Manage Jenkins--> Manage Plugins --> Available -->Xcode integration   && Unity3d plugin

    本地Unity项目 

    第一步:新建一个item

              1 New item --> item name --> Build a free-style software project 

    第二步:添加一个项目

              1 Source Code Management --> None (注意如果选择本地。要把Unity工程拷贝到Jenkins的工作目录下类似于/Users/qingyun/.jenkins/jobs/ProjectName/workspace  。 这里要拷贝的对象为Unity工程里面Library 、Assets 同级的路径,把这里所有的文件拷贝把workspace下

    第三步:添加Unity 项目

              1 Add build step--> Unity

              2 Unity3d installation name .选择设置好的unity(如果开始没设置,那么回到Jenkins主界面,设置Unity) 

                 设置Unity插件如果已设置可以忽略这里:1Manage Jenkins -> Configure System -->Unity3d -->name(随便起) &&

                             Installation directory:/Applications/Unity/Unity.app  (Unity的安装地址)

              3 Editor command line arguments 输入脚本:-quit -batchmode -executeMethod PerformBuild.CommandLineBuild 

             PerformBuild.CommandLineBuild 的意思是执行脚本里的CommandLineBuild  方法。

             注意BuildProject.cs 这个脚本一定要放到Unity工程下面的Assets-->Editor下面。BuildProject.cs参考代码如   

    using UnityEditor;
    using System.IO;
    using System.Collections;
    using UnityEngine;
    using System.Collections.Generic;
    
    class PerformBuild
    {
        static string[] GetBuildScenes()
        {
            List<string> names = new List<string>();
            
            foreach(EditorBuildSettingsScene e in EditorBuildSettings.scenes)
            {
                if(e==null)
                    continue;
                
                if(e.enabled)
                    names.Add(e.path);
            }
            return names.ToArray();
        }
    
        static string GetBuildPath()
        {
            return "build/iPhone";
        }
        
        [UnityEditor.MenuItem("Project Cos/Resources/Command Line Build Step")]
        static void CommandLineBuild ()
        {
    
            Debug.Log("Command line build
    ------------------
    ------------------");
            
            string[] scenes = GetBuildScenes();
            string path = GetBuildPath();
            if(scenes == null || scenes.Length==0 || path == null)
                //return;
            Debug.Log(string.Format("Path: "{0}"", path));
            for(int i=0; i<scenes.Length; ++i)
            {
                Debug.Log(string.Format("Scene[{0}]: "{1}"", i, scenes[i]));
            }
            
            Debug.Log("Starting Build!");
            BuildPipeline.BuildPlayer(scenes, path, BuildTarget.iPhone, BuildOptions.None);
        }
        
        static string GetBuildPathAndroid()
        {
            return "build/android";
        }
        
    
    }
    BuildProject.cs

    第四步:save编译运行。 如果编译成功那么会在WorkSpace/build/下生成iPhone文件。这个文件里的内容就是刚生成的xcode 项目。

    那么接下来设置本地的Xcode 工程。

    第一步:新建一个item

              1 New item --> item name --> Build a free-style software project          

    第二步:添加Xcode 项目设置(Add Build step选择Xcode)

             1 Source Code Management-->None --> Add build step -->Xcode 

    第三步:设置Xcode  

             1 Target (Xcode的target)

             2 选择settings -- >Clean before build 选择Yes (Pack application and build .ipa不要选择。因为Unity不支持)

             3  Code sigining settings..  (如果本地的Xcode 工程里面的证书都设置好了。就不用填了。)

             4 Advanced build settings (其它都不用填。找到Xcode Project Directory 这个一定要注意了。这个地址是本地xcode 项目里面.xcodeproj的有效地址)

    第四步:添加shell 脚本命令(Add Build Step 选择 Execute shell)

              1 Command :

              

    xcrun -sdk iphoneos PackageApplication -v /Users/chenqing/.jenkins/jobs/TestLocalUnity/workspace/build/iPhone/build/ProductName.app -o /Users/chenqing/.jenkins/jobs/TestLocalUnity/workspace/build/iPhone/TestLocal.ipa
    
    //修改相应目录。  TestLocal.ipa 是编译生成的ipa 文件
    Execute shell

    第五步: save -->Build 

             

               

  • 相关阅读:
    各种各样的Hashes
    爬取时出现报错 encoding error : input conversion failed due to input error, bytes 0xAC 0x4E 0x00 0x00
    Youtube.com中Uncaught TypeError: copy is not a function,如何解决
    生成“2021-Aug-27th”这样的1st,2nd,3rd, 4th 日期格式
    How to clear the content of the recycle bin in PowerShell?
    Delphi开发的服务在Windows2003 64位注册方式
    VS2015打开时,一直处理等待状态,并显示“Microsoft Visual Studio正忙”的提示窗,如下图
    Oracle操作类
    ie浏览器与其他浏览器兼容性问题解决
    echarts实时曲线【转】
  • 原文地址:https://www.cnblogs.com/qingjoin/p/3944392.html
Copyright © 2020-2023  润新知