织梦iis7搭建网站教程,买卖交易网,网站搜索引擎提交,建设银行网站打不开在软件开发过程中#xff0c;特别是在一些大型多人合作开发的项目中#xff0c;如何将各个人开发的不同模块集合为一个完整的系统#xff0c;最终输出一个完整的目标文件#xff0c;这个过程包括编译#xff0c;发布#xff0c;自动化测试等环节。这一过程的完善程度和流…在软件开发过程中特别是在一些大型多人合作开发的项目中如何将各个人开发的不同模块集合为一个完整的系统最终输出一个完整的目标文件这个过程包括编译发布自动化测试等环节。这一过程的完善程度和流畅程度将会影响整个发布过程如果整个过程都需要人为干预那么每次需要构建版本的时候都会是一场灾难。笔者刚进入游戏行业时曾经在一个初创手游团队工作过当时所有版本的发布都是由我负责在开发前期只有一个版本维护仅仅是在验收的时候发布一个PC版但是到了后期需要维护IOS和Android两个平台其中Android版本在接入渠道后针对每个渠道都要分别打包整个过程都需要我手动控制虽然写了几个自动化脚本但是整个流程并不是完全自动化常常是之前搭建好的构建环境在经过几次提交后又会出现若干错误这时候又需要我一个一个解决。项目虽然还是在有条不紊的进行中但是整个发布过程却是异常痛苦。后来又参与了一款端游的研发项目的负责人利用Windows的定时任务和批处理脚本制作了一套自动化构建脚本每次需要构建版本时只需要运行下批处理脚本这个过程会锁定SVN的提交权限任何人都无法提交任何东西直到构建完毕如果在构建过程中出现错误脚本会自动将错误信息发送到开发人员的IM工具。虽然端游只需要发布到一个平台但是整个构建过程是不需要人为干预的完全不影响开发人员当前的工作。在每天的凌晨2点工具会自动构建当前最新的版本这样测试组在上班后就可以立即用最新版本的游戏进行测试并反馈测试结果。因此一个完善的构建系统对于整个团队的开发效率是有很大影响的通俗来讲构建系统(build system)是用来从源代码生成用户可以使用的目标(targets)的自动化工具一个灵活的构建系统应该可以支持任意扩展和随意配置并且支持流水线作业。目前市面上的几款自动化构建系统都已经非常完善强大了。JenkinsJenkins是一个老牌开源软件项目是基于Java开发的一种持续集成工具用于监控持续重复的工作旨在提供一个开放易用的软件平台使软件的持续集成变成可能。Travis CI Travis CI 是目前新兴的开源持续集成构建项目它与jenkinsGO的很明显的区别在于采用yaml格式简洁清新独树一帜。Jenkins本文主要以Jenkins为例讲解如何在Windows环境配置自动化构建系统Linux环境的配置可自行搜索相关文献。作为一款持续集成工具Jenkins不仅提供了基本的持续构建功能还提供了很多强大的额外功能比如打包后使用开源软件FileZilla进行上传、下载部署可以编写单元测试脚本自动执行打包后版本进行汇总性能分析打包失败自动发送邮件给相关负责人等等。不仅如此Jenkins提供的插件功能更是涵盖了持续化集成的方方面面这些功能基本可以满足任何项目的持续化集成与交付需求。用到的软件或工具JRE Java Runtime Environment下载链接Java SE Runtime Environment 8Jenkins下载链接http://mirrors.jenkins.io/war-stable/latest/jenkins.warPython Python2.7版本https://www.python.org/ftp/python/2.7.14/python-2.7.14.msi7z压缩package工具下载链接http://www.7-zip.org/环境搭建Python运行环境配置下载并安装Python将安装后python.exe所在的目录附加到PATH环境变量中我的电脑-右键属性-高级系统设置-高级-环境变量PATH中新增C:Python27Python所在目录。Java运行环境配置按照对应操作系统下载并安装jre如果未自动配置Java环境变量手动配置方法同Python。7z环境配置下载安装好7z环境变量 PATH中新增C:Program Files7-ZipPython所在目录条目。Jenkins运行及配置下载 jenkins.war进入所在目录运行java -jar jenkins.war 然后在浏览器中打开http://localhost:8080复制以上密码进行jenkins初次设置。配置环境把刚刚复制的password粘贴到Administrator password安装好必备的plugin创建一个初始Admin UserJenkins 环境就配置完成了。解锁Jenkins如果遇到“该Jenkins实例似乎已离线”可以参考以下方式解决打开一个新的tab输入网址http://localhost:8080/pluginManager/advanced。 将最下面的“Update Site”中Jenjins默认地址http://updates.jenkins.io/update-center.json改为其他国内备用地址https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.jsonhttp://mirror.esuni.jp/jenkins/updates/update-center.json最后在浏览器输入http://localhost:8080/restart 再启动就可以正常下载插件了。安装插件创建Job在Jenkins主页下可以点击New Item 创建一个新的JobJekins提供了多种模板选择第一个Freestyle project 。Item Name建议最好与你的项目相同。Job 配置有General源码管理构建触发器构建环境构建以及构建后操作几个部分。创建Job打开Jenkins主页左侧系统管理选择系统设置在主目录下方一行点击高级按钮显示出工作空间根目录更改到你的Workspace中E:You Project Name${ITEM_FULLNAME}编写Build脚本构建脚本可以是Python也可以是Windows的批处理命令或者其他语言编写的脚本整个过程主要是通过在Jenkins中配置好的参数调用脚本最终脚本调用对应的编译工具进行打包如果是Unity项目最终会调用ProjectBuild.cs进行对应平台的打包操作。如果是Unreal项目则会调用Unreal Engine的打包工具进行打包。例如新建一个UnityBuild.bat的Unity构建文件UnityBuild.bat 内容如下REM UNITY程序的路径
SET UNITY_PATHD:Program Files (x86)Unity2019.2.0f1EditorUnity.exeREM 游戏程序路径
SET PROJECT_PATHE:JenkinsworkspaceAutoBuildREM 在Unity中构建apk
%UNITY_PATH% -projectPath %PROJECT_PATH% -quit -batchmode -executeMethod ProjectBuild.BuildForAndroid %1 -logFile build.logecho Build生成完毕
PAUSE配置Jenkins jobjenkins job 配置官方有详细的文档在Jenkins主页选择创建好的job左边进入ConfigureGeneral勾选 “参数化构建过程”。添加参数 Choice Parameter, 填写Name为ConfigurationChoices填Development和Shipping两个选项换行隔开Description 添加一些描述语言。添加参数 String Parameter,填写Name为 Engine_Root,默认值为引擎目录我的是“D:Program Files (x86)Unity2019.2.0f1Editor” 。再次添加Choice Parameter,填写Name为PlatformChoices填写Win64和Win32。源码管理以Git为例Repository URL填写远程地址Credentials点击Add添加git账户密码其他选项按照需求填写。如果填写正确每次build前会自动获取最新版本选择None则跳过这一步。构建触发器Jenkins 提供了多种自动检查代码自动构建的功能这里比如设置项目每天1点构建Build periodically 中填写H 1 * * * 构建环境这个模块主要做构建的一些相关设置以及一些Plugin提供的功能勾选了Add timestamps to the Console Output 选项会再build log 中增加时间戳。构建新增一个 Execute Windows Batch Command,命令行中填写UnityBuild.bat “D:Program Files (x86)Unity2019.2.0f1EditorUnity.exe” “%WORKSPACE%”Build配置完成保存然后左边选择 Build with Parameters可以看到配置中添加的参数列表点击开始构建执行打包操作。同时还可以打开Console Output 查看日志以及打开变更记录查看此次打包变更内容。打包后可以在配置好的release_path 目录下看到压缩后的版本。参考文献JenkinsUnity踩坑日记详细下载安装手册https://blog.csdn.net/alph258/article/details/86075956Jenkins集成unity一键打安卓包https://zhuanlan.zhihu.com/p/87964476