Jenkins 集成Unity3D Xcode

若是Mac 上沒有安裝brew。先安裝:ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"android

首先安裝jenkins #: brew install jenkins        brew 官網:http://brew.sh   或直接從Jenkins下載:http://jenkins-ci.orggit

 

安裝完成後瀏覽器打開:http://localhost:8080   Jenkins 默認地址github

首先請先安裝兩個插件: Manage Jenkins--> Manage Plugins --> Available -->Xcode integration   && Unity3d pluginshell

本地Unity項目 xcode

第一步:新建一個item瀏覽器

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

第二步:添加一個項目app

          1 Source Code Management --> None (注意若是選擇本地。要把Unity工程拷貝到Jenkins的工做目錄下相似於/Users/qingyun/.jenkins/jobs/ProjectName/workspace  。 這裏要拷貝的對象爲Unity工程裏面Library 、Assets 同級的路徑,把這裏全部的文件拷貝把workspace下curl

第三步:添加Unity 項目iphone

          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\n------------------\n------------------");
        
        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 

相關文章
相關標籤/搜索