(插播)关于使用jenkins + unity +Xcode 来进行自己主动打包的处理。
近期了解了下jenkins流程化服务的东西,个人感觉jenkins是一个非常方便的工具。主要是方便。设置好流程性得命令。仅仅需确定下就能够达到自己主动化。
减轻了错误得发生和简化了带来的复杂得步骤。今天我们就以jenkins用来编译unity生成APK包和ipa文件 为样例。做一个学习。
平时做项目须要团队之间的合作。假设策划想自己去做一个測试包,又要去找你做,还要打断你的工作,去专门编译一个包比較麻烦。
假设这时候。你已经有了一个jenkins得server。他能够自己通过简单得操作就能够得到想要得包。没有必要还要去麻烦你去自己动手一步步完毕这些繁琐得步骤。
这里我写了一个文档关于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就能够了。远程文件夹:比如:/Users/vika/Desktop/unity_prt/autobuild这个相当于主文件夹,待运行之后他会自己主动创建子文件夹(/workspace/项目名字/)(回来把unityproject的文件放在这个以下)。
使用方法:选择-尽可能得使用这个节点。启动方法:
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的project,以下我们来设置编译Xcode的project。
点击-添加构建步骤-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/username/Desktop/unity_prt/autobuild/workspace/build/iPhone/build/autobuild.app-o /Users/username/Desktop/unity_prt/autobuild/workspace/build/ipa/autobuild.ipa
),使用xcrun 来进行打包。
想把打包的文件和APK从project文件夹移动出来,使用CP命令。
(
cp -P/Users/username/Desktop/unity_prt/autobuild/workspace/build/android/autobulid.apk/Users/vika/Desktop/ftp/
)(
cp -P/Users/username/Desktop/unity_prt/autobuild/workspace/build/ipa/autobuild.ipa/Users/vika/Desktop/ftp/
)
(插播)关于使用jenkins + unity +Xcode 来进行自己主动打包的处理。的更多相关文章
- Jenkins+ Xcode+ 蒲公英 实现IOS自动化打包和分发
Jenkins+ Xcode+ 蒲公英 实现IOS自动化打包和分发 直接入正题: Screen Shot 2015-09-18 at 16.56.20.png Mac上安装Jekins jekins下 ...
- Jenkins+GitHub+Xcode+fir搭了一个持续集成环境
enkins+GitHub+Xcode+fir搭了一个持续集成环境 字数826 阅读5699 评论44 喜欢49 原文链接 Coding Duck 今天用Jenkins+GitHub+Xcode+fi ...
- Unity学习(六)5.x依赖打包
http://blog.sina.com.cn/s/blog_89d90b7c0102w2ox.html unity5已经封装好了接口,所以依赖打包并没有那么神秘和复杂了. 打包: 1.定义好资源的a ...
- Unity自己主动打包工具
最開始有写打包工具的想法,是由于看到<啪啪三国>王伟峰分享的一张图,他们有一个专门的"工具程序猿"开发各种工具. (ps:说起来这个王伟峰和他的创始团队成员,曾经跟我是 ...
- Mac下Jenkins+SVN+Xcode构建持续
1 安装Jenkins Jenkins是基于Java开发的一种持续集成工具.所以呢,要使用Jenkins必须使用先安装JDK. JDK安装 JDK 下载地址 jdk 1.8.png 安装JDK的过程略 ...
- Mac下Jenkins+SVN+Xcode构建持续导出环境
1 安装Jenkins Jenkins是基于Java开发的一种持续集成工具.所以呢,要使用Jenkins必须使用先安装JDK. JDK安装 JDK 下载地址 jdk 1.8.png 安装JDK的过程略 ...
- Unity 5.X扩展编辑器之打包assetbundle
5.x的assetbundle与4.x以及之前的版本有些不同,不过本质是一样的,只不过5.x打包assetbundle更为简单和人性化了,总体来说只需要三个步骤: 第一步:创建打包资源 //这里是一个 ...
- iOS之Xcode自动管理证书、打包adhoc和testFlight测试安装
引言:Xcode8 之后引用Automatic manage signing .对于开发者而言,在证书上栽的坑肯定不少. 准备:1.开发者账号是必须的吧. 2. Xcode设置account (不给 ...
- 内网jenkins如何配置gitlab自动拉取代码打包
在全局工具配置中添加git安装目录的配置 http://10.2.1.92:8080/jenkins/configureTools/git1.8.3.1/usr/bin/git 打开系统设置配置git ...
随机推荐
- 2015.04.29,外语,读书笔记-《Word Power Made Easy》 14 “如何谈论日常现象” SESSION 39
HOW TO TALK ABOUT COMMON PHENOMENA AND OCCURRENCES TEASER PREVIEW dire(['daiә(r)] adj. 可怕的,悲惨的,灾难警告的 ...
- nginx令牌限制并发
http{ limit_req_zone $binary_remote_addr zone=req_one:10m rate=100r/s; server { listen 8080; server_ ...
- FluentAPI关系映射配置
都有哪几种关系? 1vs多,多vs多 1. 概念or关系映射相关方法: 1) 基本套路:this.Has***(o=>o.AAA).With***() 当前这个表和AAA属性的表关系是Has定义 ...
- <Android Framework 之路>Android5.1 Camera Framework(一)
Android5.0 Camera Framework 简介 CameraService启动 CameraService是在MediaServer启动过程中进行的 main_mediaserver.c ...
- CentOS 5/6 下添加epel源
如果既想获得 RHEL 的高质量.高性能.高可靠性,又需要方便易用(关键是免费)的软件包更新功能,那么 Fedora Project 推出的 EPEL(Extra Packages for Enter ...
- iOS保持流畅有哪些秘诀? 除了黑科技GPU还有这些重要原因 期待安卓8.0流畅度逆袭
经常有人提起iPhone使用起来要比Android手机流畅,现在谈谈为什么iOS使用中会让人觉得更加流畅一些.一方面iPhone的顶级硬件为iOS的流畅打好了基础,另一方面,专一定制的系统是保证体验的 ...
- ZBrush中Blob点滴笔刷介绍
对于ZBrush®来说,笔刷的使用时至关重要的,ZBrush中给我们提供了越来越多的笔刷的同时,我们也要根据经验来合理选择笔刷.本文内容小编将分享Blob点滴笔刷的简单介绍,该笔刷在使用时笔头犹如一股 ...
- WiFi无线连接过程中有哪几个主要步骤?
WiFi无线连接过程中有哪几个主要步骤?[1]在使用WIFI功能时,经常性的操作是打开手机上的WiFi设备,搜索到心目中的热点,输入密码,联网成功,成功上网.这个看似简单的过程,背后却是隐藏着大量的无 ...
- 利用UncaughtExceptionHandler捕获未try...catch到的异常
public class test { public static void main(String[] args){ Thread thread = new Thread(new MyThread( ...
- 使用sourceMap文件定位小程序错误信息
sourceMap是什么 在前端开发过程中代码难免会有错误,即便是再小心,也有可能出现 Cannot read property 'xxx' of null 这样的低级失误,debug自然是家常便饭. ...