在mac上构建Jenkins+unity3d+xcode发布流程

原创 2015年07月08日 21:31:41

1.到jenkins的网站下载war包http://updates.jenkins-ci.org/download/war/

2.启动jenkis

#sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

#java -jar /Applications/jenkins.war -httpPort=8080

jenkin会在/Users/[User Name]/.jenkins建立工作目录

3.在系统管理->管理插件里面安装xCode Plugin,Unity3d Plugin,Publish Over FTP安装完重启。也可到官网去下载hdi插件直接安装。

4.新建一个“构建自由风格的软件项目”,并取名为test。源码管理选择subversion,填入地址和用户名密码。(在这里博主卡了很久,如果发现用户名和密码一直不能通过验证,可以再终端下面使用 "svn co [项目地址] --username [用户名] --password [密码]"看是否能checkout,如果可以,说明你填写的用户名和密码没有问题,反之有问题).

基本配置如下,这时候可以保存一下,并点击左边的构建,让jenkins捡出一下项目,捡出完毕发现test任务下面的工作空间下的工作区内会有文件。


5.捡出完毕,回到jenkins的根页进入系统管理->系统设置找到unity3d,点击unity3d安装可配置unity3d的相关参数

别名:unity4.6.6

安装目录:/Applications/Unity/Unity.app

然后点击保存.

6.再次回到jenkins的根页点击test任务,进入该任务后继续点击左边的配置选项,继续进行刚才未完成的配置

在页面上找到增加构建步骤,选择Invoke Unity3d Editor,这时候

Unity3d installation name 已默认选中刚才我们设置的别名unity4.6.6

Editor command line arguments   -projectPath ${WORKSPACE}/3d_client -executeMethod PerformBuild.CommandLineBuild -batchmode -quit

7.在unity3d当中创建PerformBuild.cs文件并放入Editor文件下面,写入如下代码.该代码会在Tools菜单下面生成PerformBuild子菜单,可测试是否能导出。

using System.IO;
using System.Collections;
using UnityEngine;
using System.Collections.Generic;

class PerformBuild
{
	static string[] GetBuildScenes()
	{
		List<string> names = new List<string>();
		
		foreach(UnityEditor.EditorBuildSettingsScene e in UnityEditor.EditorBuildSettings.scenes)
		{
			if(e==null)
				continue;
			
			if(e.enabled)
				names.Add(e.path);
		}
		return names.ToArray();
	}
	
	static string GetBuildPath()
	{
		string dirPath = Application.dataPath +"/../../build";
		if(!System.IO.Directory.Exists(dirPath)){
			System.IO.Directory.CreateDirectory(dirPath);
		}
		return dirPath;
	}
	
	[UnityEditor.MenuItem("Tools/PerformBuild/Test Command Line Build iPhone 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!");
		UnityEditor.BuildPipeline.BuildPlayer(scenes, path, UnityEditor.BuildTarget.iPhone, UnityEditor.BuildOptions.None);
	}
	
	static string GetBuildPathAndroid()
	{
		string dirPath = Application.dataPath +"/../../../build/android";
		if(!System.IO.Directory.Exists(dirPath)){
			System.IO.Directory.CreateDirectory(dirPath);
		}
		return dirPath;
	}
	
	[UnityEditor.MenuItem("Tools/PerformBuild/Test Command Line Build Step Android")]
	static void CommandLineBuildAndroid ()
	{
		Debug.Log("Command line build android version\n------------------\n------------------");
		
		string[] scenes = GetBuildScenes();
		string path = GetBuildPathAndroid();
		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 Android Build!");
		UnityEditor.BuildPipeline.BuildPlayer(scenes, path, UnityEditor.BuildTarget.Android, UnityEditor.BuildOptions.None);
	}
}
8.再次增加构建步骤,选择xcode,并如下设置,并保存。

9.给项目安装证书,下载相关证书并双击安装即可,保证xcodeproj能成功编译到device即可

如果是远程电脑可用Finder->连接服务器 vnc://172.16.0.xx 连接远程电脑并安装证书.

10.上传到ftp服务器,系统管理->系统设置配置ftp服务器信息


11.配置test任务,增加构建后步骤选择Send files Over FTP,并如下配置。


12.执行构建,成功构建后你的ftp上就会有ipa包。

13.后续可增加发送邮件,在邮件内使用item-service进行安装(暂未实现).

Windows平台下使用Jenkins自动发布Unity之Android程序与补丁

一、安装Jenkins 官方地址:jenkins-ci.org 一步步安装完毕后,启动Jenkins 二、安装Jenkins Unity插件 插件下载地址:http://updat...

Unity3d Jenkins 打包Android

Jenkins是一个丰富图形化构建平台。脚本命令工具(bat、shell、perl、python、ant等),代码管理工具(svn cvs等)及账号权限管理等上千个辅助插件。为软件的持续化集成工作流程...

unity3d 在mac 下命令打包发布IPA包

unity3d,在mac下,使用命令打包发布IPA步骤如下: 1、通过调用Unity 导出Xcode工程。这里需要借助unity(引擎本身)命令行 调用Editor模式下函数导出Xcode工程。如下所...
  • jintemp
  • jintemp
  • 2016年10月07日 23:36
  • 2181

Unity buildingsetting

播放器设置       在播放器设置中,可以为将在 Unity 中构建的最终游戏定义各种参数(针对不同平台)。例如,其中有些值将在用于打开独立版游戏时启动的分辨率对话框 (Resolutio...

unity3d 团队合作 SVN版本控制

虽然unity有自己的Asset Server,但始终感觉那个不方便,而且不能管理相关的需求、设计文档,除非你把这些放进Assets文件夹,不过我估计没人喜欢这么做。 Unity 3.5版本以后,使...

Unity3D开发之Mac OS 开发环境搭建 笔记

欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,【狗刨学习网】unity极致学院,致力于打造业内u...

在OsX系统上使用Jenkins自动构建发布Unity3d的iOS版本到fir.im

一、在OsX系统上安装Jenkins 二、打开终端,安装XCode的命令行工具 xcode-select --install 三、添加xcodeproj和fir-cli工具 gem install ...

unity3D生成ipa详解-基于xcode7.3,unity5.3.4,for Mac.

1.打开你的unity的工程 2.点击红框,来到如下界面。

Unity3d无证书发布流程

原址:http://blog.csdn.net/heartrude/article/details/7173024 元旦几天抽空把unity基础入门看了一下。准备动下身手热身一下,但是没有想...

unity3d-配置Android环境,打包发布Apk流程详解

unity3d-配置sdk,jdk Android环境,打包发布Apk流程详解
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在mac上构建Jenkins+unity3d+xcode发布流程
举报原因:
原因补充:

(最多只允许输入30个字)