携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第27天,点击查看活动详情
前言
前几篇中,我们完成了C#端的打包接口,实现了打包的实际功能。如果只有C#端的打包代码,我们也只能从命令行去手动运行。由于我们的打包参数很多,并且还有更新svn等操作,因此我们选择使用Jenkins作为这套系统的前端。Jenkins提供了非常方便的界面去配置参数和构建流程,并原生支持svn和git,这样拉取代码的工作就不需要自己写脚本完成了。本篇中将使用图文,详解介绍如何配置Jenkins的构建项目。
Jenkins 安装
请移步官方文档:www.jenkins.io/zh/doc/book… 我安装的是Windows版本,因为要将Unity编辑器安装在同一台服务器上,通过Jenkins运行Unity进行打包,没必要使用Mac。
Jenkins (windows版)服务停止和启动
- 以管理员身份运行cmd.exe
- 进入到自己的jenkins安装目录:cd C:\Program Files\Jenkins
- 停止服务:jenkins.exe stop
- 启动服务:jenkins.exe start
- 重启服务:jenkins.exe restart
Jenkins项目配置
项目建立
在Dashboard中新建Item, 选择一个项目名字,并选择Freestyle project,点击确定。
添加参数
在General页,勾选 This project is parameterized,点击“添加参数”
根据我们的需求添加所需要的参数,例如:
SVN版本号参数
使用 String Parameter
构建类型参数
使用 Choice Parameter
游戏版本号参数
版本类型参数
debug模式参数
使用 Boolean Parameter
构建场景参数
使用 Multi-line String Parameter
这些参数有些可以直接在Jenkins配置中使用,例如SVN_VERSION_NO;有些是在Python脚本中读取使用。参数类型基本就是string, boolean, choice和multi-line这几种。其中boolean类型得到的值是true
或false
的字符串。choice类型得到的预定义的字符串中的一个。而multi-line类型得到的是一个字符串
,需要自己分割,一般使用\n
分割。
配置源码
我们使用的是svn,当然git也是支持的。
- URL中填写Unity项目的svn路径,路径需要到Unity项目根目录那一层(包含Assets)。在路径尾使用
@${参数名}
添加需要获取的svn版本号。这儿参数名是上面定义的SVN_VERSION_NO
。 - Credentials那边需要配置访问svn的用户名密码
- 注意Check-out Strategy: 选择图中的策略,即保证了拉取项目的速度,也避免项目在打包过程中有修改导致拉取失败,或者影响做版本。
构建环境
这儿我将svn版本号合并到Build Name中,这样可以方便查看每次build的版本号,当然每次build的参数也可以在参数列表中查看,只是这么做更方便,一目了然。
构建命令
执行服务器上的一个python脚本进行构建,下一篇中将详解这个脚本的实现。之前我曾经是使用windows批处理实现,非常麻烦,还是用python比较好。
构建后操作
我只是启用了Editable Email Notification
邮件通知,默认使用Jenkins配置中的邮件设置,这儿定义了触发条件为Always。
执行构建
以上配置完成保存后,就可以使用Build with Parameters
来启动构建,这会打开一个参数页面:
在这儿填充和选择你需要的参数,最后点击开始构建
进行构建。按照我们定义的构建流程,会首先进行svn更新,然后执行python脚本,最后发送邮件。