Jenkins介绍:
全球领先的开源自动化服务器,Jenkins 提供了数以百计的插件来支持构建、部署和自动化任何项目
Jenkins的特点:
持续集成(Continuous integration ,简称CI。)
持续集成正是针对这一类问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次的集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件。
持续集成是一个开发的实践,需要开发人员定期集成代码到共享存储库(比如说svn或git等)。这个概念是为了消除发现的问题,后来出现在构建生命周期的问题。持续集成要求开发人员有频繁的构建。最常见的做法是,每当一个代码提交时,构建应该被触发。
在ue4打包中利用jenkins来自动打包,svn每更新一次ue4包,在jenkins就自动打包编译(构建)一次,可以将输出(错误或者成功信息)通过邮件等方式发送给指定服务器或主机。
持续集成的作用:
保证团队开发人员提交代码的质量,减轻了软件发布时的压力;
持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;
Jenkins对UE4自动打包步骤:
安装好Jenkins后再网页输入http://localhost:8080/
首先要安装java jdk1.8,svn插件(jenkins添加svn插件,电脑本身也要装svn),配置路径,在左侧系统管理->系统设置->右侧点击高级,主目录是jenkins的安装目录,工作空间根目录是实时更新svn后获取到的项目放到该目录下,这个要自己设
添加相关功能的插件:Jenkins可以添加许多第三方插件,做法:
系统管理->管理插件->可选插件
接下来进入正题,新建任务,配置:
具体配置如下:
在源码管理里使用svn,安装好svn,第一个填写好svn的项目路径,第二个add一个svn的用户名和密码,第三个是把svn更新后的项目放到JenkinsWorkSpace文件下的GK文件夹中
这里日程表的意思是每20分钟检测一次有没有更新
在构建中我们分成两个部分,打包客户端和打包服务端,都读取的是D:\JenkinsWorkSpace\GK路径的项目,因此项目.uproject要用源码,echo后面的长线主要是输出时便于区分客户端的输出还是服务端打包的输出。
第一个路径是源码版UE4路径,第二个-project路径是获取的项目路径,两个命令获取的项目路径都一样,最后输出的路径不一样,第一个客户端打包出来路径放到D:\ue4project\Client中第二个服务器打包出来路径放到\Server中,后面跟上svn版本号和构建的项目id,%%中间引用的是环境变量列表,参阅可用环境变量列表。
然后保存,对项目进行立即构建,就通过命令行自动打包ue4.
使用Jenkins自动将控制台输出日志发送到指定邮箱:
详细查看:
由于Jenkins发送邮件通过java发送,这是因为腾讯需要认证,才用平时的QQ邮箱用户名和密码已经不能登陆了。会报530错误,因此密码要填授权码,详细参考:
最后再Jenkins的系统管理-->系统设置中,我用的qq邮箱发送邮件,这样填,用户名就不加@qq.com,密码不是qq密码,而是上面链接里的授权码
Extended E-mail Notification这样设置
按照上面两个教程做后接着下面继续:
最后在配置中:
在邮箱可以接收
在项目构建中,如果项目编译失败,自动根据不同的提交者发送给他们自己邮箱步骤:
点击项目,修改记录
对特定的提交用户编辑,画红线是提交者的用户名,设置
在他的信息中修改邮件地址
在什么时候触发发送邮件功能呢?比如只有项目构建失败情况下,在任务的配置---->构建后的操作
把接受者原来填的是默认接受者,去掉
Advanced Settings中,Triggers是什么时候触发,把Always删了,只在Failure触发,send to提交者(Upstram Committers)在高级中把Recipient list清空即可