设为首页 收藏本站
查看: 790|回复: 0

[经验分享] Unity3d+Jenkins 自动编译iOS、Android版本

[复制链接]

尚未签到

发表于 2018-1-6 19:15:09 | 显示全部楼层 |阅读模式
<?xml version="1.0" encoding="UTF-8"?>  
<project name="wx_client" default="main" basedir=".">
  
<property environment="env"/>
  
<property name="RAW_BUILD_NUMBER" value="${env.BUILD_NUMBER}"/>
  
<script language="javascript"><![CDATA[
  
var buildNum = parseInt(project.getProperty("RAW_BUILD_NUMBER"))
  
var minorBuildNumber = buildNum % 100;
  
var majorBuildNumber = (Math.floor(buildNum / 100)) % 100;
  
var uberBuildNumber = (Math.floor(buildNum / 10000)) % 100;
  
project.setProperty("minorBuildNumber", minorBuildNumber);
  
project.setProperty("majorBuildNumber", majorBuildNumber);
  
project.setProperty("uberBuildNumber", uberBuildNumber);
  
]]></script>
  
<property name="VERSION_STRING" value="${uberBuildNumber}.${majorBuildNumber}.${minorBuildNumber}"/>
  
<property file="settings.properties"/>
  
<property name="dev.dir.absolute" location="${dev.dir}"/>
  
<tstamp>
  
<format property="TODAY_STAMP" pattern="yyyy_MM_dd" locale="en,US"/>
  
</tstamp>
  
<tstamp>
  
<format property="MONTH_STAMP" pattern="M" locale="en,US"/>
  
</tstamp>
  
<property name="VERSION_NUM" value="${uberBuildNumber}.${majorBuildNumber}.${minorBuildNumber}"/>
  
<property name="VERSION_STRING" value="honorbound_${VERSION_NUM}"/>
  

  
<target name="main" depends="ios, android, zipDsym" />
  

  
<target name="android" depends="compile-android" />
  

  
<target name="ios" depends="compile-ios" />
  

  
<target name="clean">
  
<echo message="Cleaning Build Space"/>
  
<delete dir="${build.dir}"/>
  
<mkdir dir="${build.dir}"/>
  
</target>
  

  
<target name="compile-ios" depends="clean">
  

  
<echo message="Compiling unity project for version ${VERSION_STRING}"/>
  

  
<echo message="${unity.bin} -projectPath ${dev.dir.absolute} -executeMethod PerformBuild.CommandLineBuild -batchmode -quit"/>
  
<exec executable="${unity.bin}" failonerror="true">
  
<arg line="-projectPath ${dev.dir.absolute}"/>
  
<arg line="-executeMethod PerformBuild.CommandLineBuild"/>
  
<arg line="-batchmode"/>
  
<arg line="-quit"/>
  
</exec>
  

  
<replace file="${build.dir}/iPhone/Info.plist" preservelastmodified="true">
  
<replacefilter token="999.999.999" value="${VERSION_NUM}" />
  
</replace>
  

  
<exec executable="${security.bin}" failonerror="true">
  
<arg value="unlock-keychain"/>
  
<arg line="-p ${keychain.password}"/>
  
</exec>
  

  

  
<echo message="Building ${build.dir}/iPhone/Unity-iPhone.xcodeproj/ Sym Root ${build.dir}/iPhone/"/>
  
<exec executable="${xcode.bin}" failonerror="true">
  
<arg line="-project ${build.dir}/iPhone/Unity-iPhone.xcodeproj/"/>
  
<arg line="PROVISIONING_PROFILE=${provisioning.guid}"/>
  
<arg line="-sdk iphoneos"/>
  
<arg line='CODE_SIGN_IDENTITY="${codesign.identity}"'/>
  
<arg line='GCC_GENERATE_DEBUGGING_SYMBOLS=YES'/>
  
<arg line='DEBUG_INFORMATION_FORMAT=dwarf-with-dsym'/>
  
<arg line='DWARF_DSYM_FILE_SHOULD_ACCOMPANY_PRODUCT=YES'/>
  
<arg line='DEBUGGING_SYMBOLS=YES'/>
  


  
<arg line="-configuration>  
</exec>
  

  
<exec executable="${xcrun.bin}" failonerror="true">
  
<arg line="-sdk iphoneos"/>
  
<arg line="PackageApplication"/>
  
<arg line="-v ${build.dir}/iPhone/build/${APP_NAME}.app"/>
  
<arg line="-o ${build.dir}/iPhone/build/${APP_NAME}.ipa"/>
  
</exec>
  

  
<copy file="${build.dir}/iPhone/build/${APP_NAME}.ipa" tofile="${ios.build.deploy.folder}/${VERSION_STRING}.ipa"/>
  

  

  
</target>
  

  
<target name="compile-android" depends="clean">
  

  
<echo message="Compiling unity project for android version ${VERSION_STRING}"/>
  

  

  
<echo message="${unity.bin} -projectPath ${dev.dir.absolute} -executeMethod PerformBuild.CommandLineBuildAndroid -batchmode -quit"/>
  
<exec executable="${unity.bin}" failonerror="true">
  
<arg line="-projectPath ${dev.dir.absolute}"/>
  
<arg line="-executeMethod PerformBuild.CommandLineBuildAndroid"/>
  
<arg line="-batchmode"/>
  
<arg line="-quit"/>
  
</exec>
  

  
<copy file="${build.dir}/android" tofile="${android.build.deploy.folder}/${VERSION_STRING}.apk"/>
  
<exec executable="curl" dir="${android.build.deploy.folder}">
  
<arg line="--form file=@${VERSION_STRING}.apk '${BUILD_URL}/save_file.php?appname=${APP_NAME}'" />
  
</exec>
  
</target>
  

  

  
<target name="zipDsym">
  
<echo message="Zipping dSym"/>
  
<exec executable="zip" dir="${build.dir}/iPhone/build" failonerror="true">
  
<arg value="-r"/>
  
<arg value="${APP_NAME}.app.dSYM.zip"/>
  
<arg value="${APP_NAME}.app.dSYM"/>
  
</exec>
  
</target>
  

  
</project>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-432333-1-1.html 上篇帖子: 为 Jenkins 配置 .NET 持续集成环境 下篇帖子: Jenkins +JUnit
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表