Jenkins基于unity的自动化打包

Jenkins基于unity的⾃动化打包
Jenkins的使⽤
brew 安装jenkins 时可能根据需要修改⼯作⽬录.
修改⼯作⽬录的步骤如下:
⼀,安装完成后千万不要打开浏览器。
⼆,打开控制台窗⼝输⼊    sudo vi  /etc/profile
三,这⾥需要注意的是这个⽂件在我这边的环境下默认为只读⽂件,可使⽤下⾯的命令修改其⽂件权限:  sudo chmod 775 /etc/prifile 四,修改成功后再使⽤第⼀条指令打开,在⽂件的最后添加下⾯内容: export JENKINS_HOME=(要修改的路径)  然后,按ESC键,退出到插⼊模式,在按:号键+x 命令回车即可保存⽂件
五,执⾏  source /etc/profile  命令。执⾏完成重启系统,再打开jenkins就能看到其主⽬录已修改成功、
这⾥主要介绍⼀下jenkins的基本使⽤以及通过C#去调⽤jenkins API 在unity上进⾏远程操作jiekins
⼀,登陆Jenkins
1. 打开浏览器,访问打包机IP的8080端⼝,账号密码后期可以分配⽣成,公⽤admin,u3d99
⼆,创建新的⼯程
输⼊ 任务名称, 然后在最下⾯ 复制那⾥输⼊⼀个已存在的⼯程名称,点击确定。就可以复制出⼀个与已存在⼯程参数⼀样的⼯程⽬录。进⼊新任务⾥⾯的设置修改⼀下SVN的地址参数即可
三,Jenkins的基本配置
在配置Jenkins的过程中,有如下配置选项:
1 General
选择参数化构建过程,可以配置所需要的参数,这⾥参数⽐较多,就不⼀⼀例举了,2 源码管理
在源码管理⾥⾯配置好资源的地址(svn地址或git地址),设定好本地保存的⽂件夹,然后根据需要设置
好checkout⽅式
SVN配置 checkout会有多个选项
Use‘svnupdate’ as much as possible
第⼀次发布的时候,会把⼯作⽬录下的所有⽂件清空,然后check-out⼀份完整的项⽬到⼯作⽬录下;
以后更新的时候,不会判断已有⽂件是否在svn⾥存在。⽐如⼯作⽬录下的⽂件123在svn⾥不存在,那么更新的时候不会删除,不会判断⼯作⽬录下的⽂件是否被改动,只会判断svn是否有新版本需要更新。
Alwayscheck out a fresh copy
第⼀次发布的时候,会把⼯作⽬录下的所有⽂件清空,然后check-out⼀份完整的项⽬到⼯作⽬录下;每⼀次更新的时候,都会先清除⼯作⽬录下的所有⽂件,然后重新check-out⼀份完整的项⽬到⼯作⽬录下。
Emulateclean checkout by firstdeleting unversioned/ignored files,then ‘svn update’
第⼀次发布的时候,会把⼯作⽬录下的所有⽂件清空,然后check-out⼀份完整的项⽬到⼯作⽬录下。以后更新的时候会判断⼯作⽬录下的⽂件是否在svn⾥存在,如果不存在则删除,如果存在且有新版本则更新。会判断⼯作⽬录下的⽂件是否被改动,不管有没有新版本,都会还原为svn上的最新版本。svn上删除了⽂件,更新的时候,⼯作⽬录⾥的此⽂件也会被删除。
Use‘svn update’ as much aspossible,with‘svn revert’ before update
第⼀次发布的时候,会把⼯作⽬录下的所有⽂件清空,然后check-out⼀份完整的项⽬到⼯作⽬录下;先放弃所有本地修改,然后尽可能进⾏svn更新。避免本地修改导致本地项⽬与代码仓库不⼀致scm文件
我这⾥选择的是最后⼀个。但是在热更新的时候会有问题,打热更新的时候需要转换平台,⽽svn上的是默认的,热更包打完后本地存在的是转换平台后的资源。在下⼀次打包热更资源时,会导致本地资源与svn资源不⼀致的情况。所以下⼀次打包时,会checkout SVN上的资源,删除本地的资源。
3构建触发器
这⾥⽤的build priodically. 每天2:00定时触发
PollSCM 是没隔⼀段时间会去检测svn上的变化,然后触发构建
4然后是最重要的构建
-batchmode -executeMethodPerformBuild.CommandLineBuild Platform-$Platform AppID-$AppID Version-$VersionIPAddress-$IPAddress  -quit
在⽅法中这样解析参数:
附上unity上接受jenkins 的类
public class PerformBuild
{
static string[] GetBuildScenes()
{
List<string> names = new List<string>();
foreach(EditorBuildSettingsScene e in EditorBuildSettings.scenes)
{
if(e==null)
continue;

本文发布于:2024-09-25 13:19:31,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/382019.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:打开   需要   修改
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议