Unity脚本打包和Jenkins打包
首先我们假设所有的环境和参数都配置好了。
常规打包: 打开Unity -> File -> Building Setting -> 点击 Build 按钮。
脚本打包:不需要打开Unity,通过脚本完成手动点击 Build 按钮的操作。
Jenkins 打包:不需要在部署了工程的电脑上操作, 通过访问 Web 或者 设置自动打包命令来执行打包脚本。
脚本打包 apk
Unity 提供了命令行打包的接口,Mac 上打包安卓脚本如下:
#!/bin/sh
# unity app path
UNITY_PATH=/Applications/Unity/Unity.app/Contents/MacOS/Unity# project path
PROJ_PATH=/Users/David/Proj/UnityAutoBuild/AutoBuildecho "============== Unity Build APK Begin =============="$UNITY_PATH -projectPath $PROJ_PATH -executeMethod Batchmode.BuildAndroid -logFile $PROJ_PATH/android/Android.log -batchMode -quitecho "============== Unity Build APK Finish =============="
其中,BuildAndroid 是 Batchmode.cs 中的一个静态方法,里面最重要的方法是
foreach (EditorBuildSettingsScene scene in EditorBuildSettings.scenes)
{if (!scene.enabled) continue;levels.Add(scene.path);
}string res = BuildPipeline.BuildPlayer(levels.ToArray(), "TestAutoBuild.apk", BuildTarget.Android, BuildOptions.None);
脚本打包 iOS
脚本打包 iOS, 会分成两个步骤:
第一步类似于安卓打包, 但是生成的是 Xcode工程。
第二步是将 Xcode工程打包成 ipa。(个人免费账号无法生成 ipa,需要购买申请开发者账号)
iOS 打包脚本如下:
#!/bin/sh
# unity app path
UNITY_PATH=/Applications/Unity/Unity.app/Contents/MacOS/Unity# project path
PROJECT_PATH=/Users/David/Workspace/Proj/UnityAutoBuild/AutoBuild#IOS打包脚本路径#
BUILD_IOS_PATH=${PROJECT_PATH}/iOS/ipa_build.sh#生成的Xcode工程相对路径#
XCODE_PATH=iOS/XCodeXCODE_TRUE_PATH=${PROJECT_PATH}/${XCODE_PATH}#生成的ipa的相对路径#
IPA_PATH=ipa#将unity导出成xcode工程#
echo "============== Unity Build XCode Project Begin =============="
$UNITY_PATH -projectPath $PROJECT_PATH -executeMethod Batchmode.BuildiOS project-$XCODE_PATH -quit
echo "============== Unity Build XCode Project Finish =============="#开始生成ipa#
echo "============== Unity Build IPA Begin =============="
echo $XCODE_TRUE_PATH
echo $IPA_PATH
echo $BUILD_IOS_PATH$BUILD_IOS_PATH $XCODE_TRUE_PATH $IPA_PATH
echo "============== Unity Build IPA Finish =============="
ipa_build.sh
#!/bin/sh
# 参数判断
if [ $# != 2 ];then echo "Need two params: 1.path of project 2.name of ipa file" exit
elif [ ! -d $1 ];then echo "The first param is not a dictionary." exit
fi
# 工程路径
xcode_project_path=$1 # IPA名称
ipa_name=$2 # build文件夹路径
build_path=${xcode_project_path}/build archive_path=${build_path}/Archive/AutoBuild.xcarchive# 清理#
xcodebuild clean# 编译工程
cd $xcode_project_path
xcodebuild || exit xcodebuild archive \
-project ${xcode_project_path}/Unity-iPhone.xcodeproj \
-scheme Unity-iPhone \
-configuration "Release" \
-archivePath ${archive_path}xcodebuild -exportArchive \
-exportOptionsPlist ${xcode_project_path}/info.plist \
-archivePath ${archive_path} \
-exportPath ${xcode_project_path}
Jenkins 打包:
一般版本发布只在一台机器上进行,不可能每次打包都去电脑上双击下打包脚本,此时可以使用 Jenkins 构建打包环境。简单说, Jenkins实现了通过Web访问,执行了上文的打包脚本。
Jenkins是一个丰富的图形化构建平台。提供脚本命令工具(bat、shell、perl、python、ant等),代码管理工具(svn cvs等)及账号权限管理等上千个辅助插件。为软件的持续化集成工作流程提供完美支持。
使用Jenkins进行Unity打包的好处:
1. 通过网页执行打包命令,很方便
2. 自动构建打包,比如每天晚上12点打包
3. 打包结果通知可以发送到邮件 QQ群等,因为他有丰富的插件支持
Jenkins官网 https://jenkins.io/, 具体方案此处就不展开了。
如有错误,欢迎指出。
email:dxmdxm1992#gmail.com
blog: http://blog.csdn.net/david_dai_1108
Unity脚本打包和Jenkins打包相关推荐
- PostCSS a not plugin 打包is jenkins打包发布问题跟踪 Error: [object Object] is not a PostCSS plugin
之前在develop平台上 一个前台项目全自动构建都正常,昨天构建失败了,报错信息如下: ERROR Failed to compile with 191 errors3:44:52 PMerror ...
- html打包apk_将打包彻底一键化!Unity和Jenkins真是绝配
说起打包,我们的QA简直是要抓狂,这个确实我也很同情他们.项目最开始打包是另一个同事做的,打包步骤是有些繁琐,但是项目上线后,不敢轻易动啊!每次他们打包总要跟我抱怨,国内版本打包步骤要10多步还能忍, ...
- Jenkins 打包配置
一.Jenkins的安装及配置 1.在Jenkins官网下载对应平台的Jenkins安装文件 官网地址:https://www.jenkins.io/zh/ 点击下载,这里选择windows: 下载完 ...
- 使用Jenkins打包和部署Maven工程步骤详解
上节已部署jenkins: https://blog.csdn.net/weixin_39816740/article/details/104943258 并 准备好一个maven项目发布到码云 上节 ...
- Jenkins打包部署项目到Windows或Linux运行
准备工作 安装完Jenkins(插件等等).操作系统.git|svn 等等情况. 部署情况: 配置ftp服务或者配置ssh服务可以自行百度. 第一种:Jenkins部署项目到Linux,运行shell ...
- Unity内置资源如何打包避免冗余
这是第249篇UWA技术知识分享的推送.今天我们继续为大家精选了若干和开发.优化相关的问题,建议阅读时间10分钟,认真读完必有收获. UWA 问答社区:answer.uwa4d.com UWA QQ群 ...
- 【Unity3D】Android 打包 ④ ( Android 工程打包 | Unity 中导出安卓工程 | Android Studio 打开 Unity 导出的 Android 工程 )
文章目录 一. Android 工程打包 二. Android Studio 打开 Unity 导出的 Android 工程 一. Android 工程打包 Android 工程打包 就是将 Unit ...
- Jenkins打包IOS项目(疑难问题总结)
最近正在基于Jenkins工具,实现IOS项目的CI构建,虽然已经折腾出来,但是记录一下踩过的坑 Jenkins打包IOS两种方案: 方案一:在Mac电脑上安装Jenkins,然后将本地作为一个专门用 ...
- Jenkins打包部署gitee项目至阿里云ECS服务器
原文地址:Jenkins打包部署gitee项目至阿里云ECS服务器 - BIGTREE (whwtree.com) 所需插件: Git Parameter Plug-In插件 Publish Over ...
最新文章
- 如何监控impala的数据_CDH秘籍(两):cloudera Manager存储监控数据
- 程序员的自我修养之马桶修理工:compose方法的妙用!
- Windows 下启动前删除Resin日志等文件的bat命令
- why the ebitda and ebit differ so much for netflix?
- OpenGL Blinn-Phong Shader实例
- oracle connection 有时能取到有时候又取不到
- 经典面试题:聊一聊垃圾回收算法
- NAS 百科 —— http://baike.baidu.com/item/NAS%E7%BD%91%E7%BB%9C%E5%AD%98%E5%82%A8
- cad快捷键文件路径_你知道CAD图纸如何才能画得更快嘛?CAD快速绘图技巧!
- Swoole HTTP 的应用
- Chrome禁用缓存
- 企业实施ERP有哪些收益分析-要做到心中有数
- Vue3.0 + Ts 项目使用element-plus 自动按需导入 使用v-loading报错
- 软件测试每日例会,每日例会(二).md
- 19.丑数(UVa136)
- HTML标签关系——双标签和单标签,标签的嵌套与并列
- 创客思维在高等教育中的启迪作用
- 运行期报“#FFxxxxxx”不是属性“xxxxx”的有效值
- 【Applied Algebra】物理学中的群论漫谈1:群论基础
- 树莓派产生PWM控制伺服电机和步进电机踩坑
热门文章
- 3D空战游戏Android源码
- 炒股的智慧:股票投资93条秘籍
- WiFi万能钥匙 v4.3.50
- Java OCR 图像智能字符识别技术[可识别中文]
- java项目:基于Springboot+Vue+Element实现汽车租赁系统
- tcping实用小工具
- 怎么更改计算机管理员用户名和密码,Win10系统无法修改管理员账户密码怎么办?...
- 计算机无法安装蓝牙设备,如果蓝牙耳机已连接到计算机并且无法安装设备驱动程序,该怎么办...
- OSG入门即osgEarth建立一个地球的详细步骤
- ANSYS APDL学习(2):如何将obj文件或stl文件导入ANSYS APDL