(插播)关于使用jenkins + unity +Xcode 来进行自动打包的处理。

最近了解了下jenkins流程化服务的东西,个人感觉jenkins是一个很方便的工具,主要是方便,设置好流程性得命令。只需确定下就可以达到自动化。减轻了错误得发生和简化了带来的复杂得步骤。今天我们就以jenkins用来编译unity生成APK包和ipa文件 为例子,做一个学习。

平时做项目需要团队之间的合作,如果策划想自己去做一个测试包,又要去找你做,还要打断你的工作,去专门编译一个包比较麻烦。如果这时候,你已经有了一个jenkins得服务器,他可以自己通过简单得操作就可以得到想要得包,没有必要还要去麻烦你去自己动手一步步完成这些繁琐得步骤。

这里我写了一个文档关于jenkins和unity搭建得一个文档。 要得戳这里

先贴出来。

首先了解下jenkins,是一个基于java的用来处理流程化的服务性质的工具。

缺点:配置较复杂优点:可以执行.sh脚本,插件也比较多.

(我用得是mac电脑 所以在网上直接 下载 jenkins for mac 直接安装就行)

1.    准备工作,首先是unity项目中我们在Assets/Editor 下面建立一个用来执行编译的脚本。例如PerformBuild.cs,,具体代码见文件中的文件。主要作用就是,使用代码来做打包的工作。

2.    安装jenkins(安装包文件见文件夹)  step by step 安装,它会自动启动 Jenkins。

3.    开始使用jenkins,左侧菜单是新建,任务历史等等。

为了方面我们首先建立以下用户。点击左侧菜单栏中得-系统管理-configure Global Security 点击-启用安全 ,安全域:点击 -jenkins专有用户数据库-允许用户注册 。授权策略:这里先选-任何用户可以做任何事,然后保存。回到主界面在右上角就可以注册用户了。接着进行注册step by step 。

4.    回到主界面,点击左边菜单栏-新建,写入Item名称(项目的名字),选中-构建一个自由风格得软件项目,点击 OK  ,开始配置项目。

5.    在配置项目之前,我们先下载几个插件。回到主界面,点击左边菜单栏的 –系统管理,点击-管理插件选中-可选插件,然后在右上角有搜索框,分别输入我们要找的Unity3d plugin,Xcode integration,GIT plugin,Gitlab hook plugin. 分别使用 -下载直接安装,然后 重启 Jenkins,命令是:http://localhost:8080/restart

6.    这里有一个很需要注意得地方,我们使用得是MAC电脑,对权限的东西要求很高,而jenkins是默认安装在/Users/Shared/Jenkins/Home中,而且jenkins的工作目录workSpace目录也在其中。这是一个很敏感得目录,需要我们频繁得操作,会造成找不到目录很多错误。我们可以是用Terminal来改变目录权限,这样非常得麻烦(舍弃)。我们还可以用jenkins的从节点,把工作目录指向外面。操作:

回到主界面-系统管理-管理节点-新建节点,例如节点名字:unity4.5,选择Dumb
Slave,然后点击OK。然后配置下节点。# of executors:这个是并发处理的多少,默认1就可以了。远程目录:例如:/Users/vika/Desktop/unity_prt/autobuild这个相当于主目录,待执行之后他会自动创建子目录(/workspace/项目名字/)(回来把unity工程的文件放在这个下面)。

用法:选择-尽可能得使用这个节点。启动方法:

Launch slave agents via Java Web Start,使用得是slave命令启动的方式。Availability:Keep this slave on-line as much as possible,保持slave得dos一直开启。然后保存,回到管理节点。点击我们刚刚新建的unity4.5节点,看到节点未启动,我们必须使用slave.jar(见文件夹)来启动它。打开terminal(终端),到slave.jar所在的文件夹使用(java
-jar slave.jar -jnlpUrl http://localhost:8080/computer/unity4.5/slave-agent.jnlp)命令启动unity4.5 节点。回到jenkins,刷新下,我们就可以看到 unity4.5这个节点已经启动。

7.    回到主界面,点击我们建立的项目,点击左侧菜单中的-配置。开始配置我们得项目。

从上往下,依次-项目名称(保持不变),-描述(可以不用写),-丢弃旧的构建(可以设置,多少时间清理一次旧的构建),再往下可以根据需求依次设置。最后可以看到Restrict where this project can be run:选择刚刚新建得unity4.5。

高级选项:暂时没用。

源码管理:这里有几种方式,我们其中就有我们刚刚下载得插件GIT,还有CVS,SVN等。本地的话就选None。

构建触发器:(触发项目构建的条件),这里有几种方式:

远程触发:设置令牌使用URL的方式来进行构建。

PollSCM:时间触发可以设置时间来控制,自动构建。剩下得两个不常用。

构建:点击增加构建步骤,我们是unity的项目,选择invoke unity3d Editor,有两个标题,unity3d installation name,这个是要选择

(如果没有先保存,回到主界面,-系统管理-系统设置-unity3d,进行设置unity3d的安装目录,/Applications/Unity/Unity.app,别名随便起一个,然后保存,再次回到项目-配置中),

刚刚设置得别名,Editor command linearguments :这个使用用来执行unity 命令行的dos我这里写的是(-quit  -batchmode-executeMethod PerformBuild.CommandLineBuildAndroid)可以理解出我执行得是 项目中Editor目录中 PerformBuild脚本CommandLineBuildAndroid方法。这里就会有一个疑问,这样设置好了,jenkins怎么知道我的项目目录那,这里unity3d
plugin他是默认在jenkins的默认(workspace/项目名字)目录的,所以有两个选择,要么把自己的项目复制到(workspace/项目名字)目录,要么在dos前面添加–projectpath 命令。我这里选择得复制到workspace。CommandLineBuildAndroid方法是编译android,如果还有编译IOS的,在点击-增加构建步骤,按照上面的方法依次来进行设置。

Unity的部分我们设置好了。现在是我们有了APK和xcode的工程,下面我们来设置编译Xcode的工程。点击-增加构建步骤-Xocde。

General build settings : Target(不写),点击-settings,
clean before build选择yes,剩下得不选,Configuration这里有两个模式Release和Debug,看情况自己选择。

Pack application and build .ipa:不选,我们使用命令来进行打包。

Code signing & OS X keychain options:code Signing Identity (这个是证书,协议得选择,可以随意打开一个xcode项目在项目的build settings中搜索code signing identity,可以看到证书,例如,Iphone Developer:something (证书序号)),把证书写上去。Embedded Profile:嵌入的配置文件(没有可以不填)。

Unlock Keychain:自己设置。

Advanced Xcode build options :这里是设置xcode项目的目录,我们是unity的目录,这里很多不用设置, Xcode Project Directory设置,注意这里的都是相对于workspace的目录,例如:../build/iPhone 。SDK:iphoneos7.1,这是编译得SDK,设置为7.1。剩下得不用管。

编译完了Xcode,我们这里要设置下打包IPA。点击 –增加构建步骤-Execute Shell。这里是书写shell脚本。我们打包.app文件得命令是:(

xcrun -sdk iphoneos7.1PackageApplication -v/Users/用户名/Desktop/unity_prt/autobuild/workspace/build/iPhone/build/autobuild.app-o /Users/用户名/Desktop/unity_prt/autobuild/workspace/build/ipa/autobuild.ipa

),使用xcrun 来进行打包。

想把打包的文件和APK从工程目录移动出来,使用CP命令。(

cp -P/Users/用户名/Desktop/unity_prt/autobuild/workspace/build/android/autobulid.apk/Users/vika/Desktop/ftp/

)(

cp -P/Users/用户名/Desktop/unity_prt/autobuild/workspace/build/ipa/autobuild.ipa/Users/vika/Desktop/ftp/

(插播)关于使用jenkins + unity +Xcode 来进行自动打包的处理。

时间: 2024-10-16 00:37:23

(插播)关于使用jenkins + unity +Xcode 来进行自动打包的处理。的相关文章

(插播)关于使用jenkins + unity +Xcode 来进行自己主动打包的处理。

近期了解了下jenkins流程化服务的东西,个人感觉jenkins是一个非常方便的工具.主要是方便.设置好流程性得命令.仅仅需确定下就能够达到自己主动化. 减轻了错误得发生和简化了带来的复杂得步骤.今天我们就以jenkins用来编译unity生成APK包和ipa文件 为样例.做一个学习. 平时做项目须要团队之间的合作.假设策划想自己去做一个測试包,又要去找你做,还要打断你的工作,去专门编译一个包比較麻烦. 假设这时候.你已经有了一个jenkins得server.他能够自己通过简单得操作就能够得到

jenkins jar、html的自动打包部署插件

https://blog.csdn.net/a11101171/article/details/47145747 https://www.cnblogs.com/naniandongzhi/p/8032258.html http://www.21yunwei.com/archives/4351 https://www.cnblogs.com/ganbo/p/7794281.html https://www.cnblogs.com/Alex-qiu/p/7845626.html https://w

Mac下Jenkins+SVN+Xcode构建持续

1 安装Jenkins Jenkins是基于Java开发的一种持续集成工具.所以呢,要使用Jenkins必须使用先安装JDK. JDK安装 JDK 下载地址 jdk 1.8.png 安装JDK的过程略,别说你不会安装(如有不会安装的,自行百度). Jenkins安装 Jenkins 下载地址 Jenkins安装文件.png 点击图中 Mac OS X,会自动下载[jenkins-1.644.pkg]安装过程略(双击jenkins-1.644.pkg后,下一步就OK了). 注意: 1.Jenkin

使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】

背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人员)通过手机扫描二维码后就能直接安装测试包. 该需求具有一定的普遍性,基本上所有开发APP的团队都可能会用到,因此我将整个需求实现的过程整理后形成此文,并且真正地做到了零基础上手,到手即飞.开箱即用,希望能对大家有所帮助. 首先,先给大家展示下平台建设完成后的整体效果: 该平台主要实现的功能有3点:

用jenkins搭建android自动打包环境

这里假设你已经搭建了jenkins的环境.否则,请阅读我的另一篇文章: http://my.oschina.net/u/930967/blog/298980 其实那个文章里面有用的就两句话的事儿,还是直接写在这里吧 jenkins是一个java web项目,可以去官网下载war包,放在tomcat的webapps下就能运行. 访问localhost:8080/jenkins进入 步入正题 任何一个开发工具,都提供了命令行工具.比如android用的是ant.java有maven.还有xcode,

[原] Jenkins Android 自动打包配置(转)

一.Jenkins自动打包配置 目标:1. 自动打包:2. 自动上传:3. 友好下载 1. Jenkins简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作. 减少重复劳动,减少人工成本. 持续.自动地构建/测试软件项目: 监控一些定时执行的任务: 2. Jenkins配置 添加git plugin和 role插件 设置人员权限,根据角色授权 启动访问http://ip/8080即可,见下3.1 开机自启脚本 添加git项目,配置脚本,见下3.2 项目打包脚本和3.

推荐一个Xcode插件: KSImageNamed (自动补全图片文件名称, 并显示图片大小)

http://www.csdn.net/article/2014-05-04/2819586-the-best-xcode-plugins 5. KSImageNamed KSImageNamed是一款能够帮助开发者在Xcode中自动补全图片文件名称的插件,其开发者Kent Sutherland来自美国波士顿.KSImageNamed支持NSImage和UIImage,当开发者写到"[UIImage imaged:"时,便会自动将项目中的图片名称提示出来.此外,KSImageNamed

使用Jenkins进行android项目的自动构建(3)

建立Jenkins项目 1. "新增作业"->填写作业名称->选择"建置 Maven 2 或 3 專案"->OK.新增成功后会进入"組態設定",暂时先保留默认值,稍后再进行设定. 2. 按一下"马上建置",会显示"已排入建置",然后在"建置歷程"会见到#1的链接,点入该链接并选择"終端機輸出",这时会见到一个失败的构建记录.当然会失败,因为我们还未为

Unity自动打包Apk

unity打包apk相对来说比较容易,相信出过的人都明白,出包过程,没有大的难度,一步一操作,一步一等待,繁琐耗时,不懂的人又代替不了.这时候需求就来了,如何简单的一键打包搞定,这个就稍微有点难度,当然作为程序员就是要解决这些问题,封装变化,变繁为简. 打包apk大概可以分为以下步骤(出apk需要的jdk,Android sdk这些不用多说,相信大家都会配置) 1.配置PlayerSetting 2.配置渠道等第三方SDK 3.copy外部资源和一些自己工程需要的一些配置 4.unity打包bu