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\n------------------\n------------------"); string[] scenes = GetBuildScenes();
string path = GetBuildPath();
if(scenes == null || scenes.Length== || path == null)
//return;
Debug.Log(string.Format("Path: \"{0}\"", path));
for(int i=; 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
Jenkins 集成Unity3D Xcode的更多相关文章
- Jenkins 集成打包和上传 App Store 的冲突
周一下午用 Jenkins 集成打包,遇到了一个很奇怪的问题,之前上传到 APP Store 的时候 Build Settings->“Code Signing Resource Rules P ...
- Jmeter+Jenkins集成html报告显示问题
在J meter+Jenkins集成生成的html报告时,出现如下问题:无法正常显示表格,detail内容无法折叠和展开操作. 解决方法:执行下列脚本行 在Jenkins :系统管理--脚本命令行 S ...
- jenkins 集成 redmine 账户验证的方案
jenkins 集成 redmine 账户验证的方案 赖勇浩(http://laiyonghao.com) 动机 Jenkins 是最著名的持续集成工具,又因为它开源免费.插件众多,成为了许多团队做持 ...
- Jenkins集成taffy进行自动化测试并输出测试报告
本文主要介绍Jenkins集成taffy/nose框架进行自动化测试并输出测试报告方法. 0. 测试环境 Jenkis主节点部署在CentOS系统上,子节点为Win10 64位系统(即我们本机运行自动 ...
- Jenkins集成Docker镜像实现自动发布
1. 思路&流程 Jenkins集成Docker镜像实现自动发布与Jenkins发布mavne项目思路一样总体流程 为:Jenkins 拉去远端源码 -- gitl实现应用打包 -- jenk ...
- ldap配置系列二:jenkins集成ldap
ldap配置系列二:jenkins集成ldap jenkins简介 jenkins是一个独立的.开放源码的自动化服务器,它可以用于自动化与构建.测试.交付或部署软件相关的各种任务. jenkins官方 ...
- linux服务器中Jenkins集成git、Gradle持续构建Springboot项目
Jenkins是用java编写的开源持续集成工具,目前被国内外各公司广泛使用.本章教大家如何在linux服务器中使用Jenkins自动发布一个可作为linux服务发布的Springboot项目. 自动 ...
- LDAP落地实战(四):Jenkins集成OpenLDAP认证
前几篇分文章分别介绍了OpenLDAP的部署管理和维护以及svn.git的接入,今天我们再下一城接入jenkins. 前情提要:LDAP系列文章 LDAP落地实战(一):OpenLDAP部署及管理维护 ...
- Jmeter测试报告可视化(Excel, html以及jenkins集成)
做性能测试通常在none GUI的命令行模式下运行Jmeter. 例如: jmeter -n -t /opt/las/JMeter/TestPlan/test.jmx -l /opt/las/JMet ...
随机推荐
- javascript:常用数组操作
concat()方法 数组和数组的 粘结: var a=[1,2,3,4]; var b=[5,6,7,8]; var c=a.concat(b); console.log(c); // [1,2,3 ...
- WordPress主题开发:style.css主题信息标记
在最简单的情况下,一个WordPress主题由两个文件构成: index.php ------------------主模版 style.css -------------------主样式表 而且s ...
- 从Oracle迁移到MySQL的各种坑及自救方案
当企业内部使用的数据库种类繁杂时,或者有需求更换数据库种类时,都可能会做很多数据迁移的工作.有些迁移很简单,有些迁移可能就会很复杂,大家有没有考虑过为了顺利完成复杂的数据库迁移任务,都需要考虑并解决哪 ...
- Git:常用命令(一)
取得项目的Git 仓库 从当前目录初始化 git init 初始化后,在当前目录下会出现一个名为.git 的目录,所有Git 需要的数据和资源都存放在这个目录中.不过目前,仅仅是按照既有的结构框架初始 ...
- GO -- 正则表达式
str := "880218end" match, _ := regexp.MatchString("\\d{16}", str) //六位连续的数字 fmt. ...
- java.lang.ThreadLocal类
一.概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量).也 ...
- Android之针对WebView的全屏播放
转载请标明转载处:http://bbs.csdn.net/topics/390839259 本人刚学android,菜鸟一个,第一次写帖子,最近因为项目要用webview加载html5的视频,开始不能 ...
- .NET零基础入门05:委托与事件
一:前言 本小节,我们需要停一停我们的小游戏开发,虽然它现在还不完美,还很简单,甚至还有BUG.但是,为了更好的理解C#,现在到了该深入了解一些基础知识的时候了. 当然,实际上,本小节内容对于零基础入 ...
- Jackson 转换JSON,SpringMVC ajax 输出,当值为null或者空不输出字段@JsonInclude
当我们提供接口的时候, Ajax 返回的时候,当对象在转换 JSON (序列化)的时候,值为null或者为“” 的字段还是输出来了.看上去不优雅. 现在我叙述三种方式来控制这种情况. 注解的方式( @ ...
- maven-assembly-plugin 入门指南
当你使用 Maven 对项目打包时,你需要了解以下 3 个打包 plugin,它们分别是 plugin function maven-jar-plugin maven 默认打包插件,用来创建 proj ...