Jenkins部署SVN更新
将Unity工程Commit到SVN服务器
打开VisualSVN Server Manager,点击左侧的ResLoadPrgJenkins,右键——Copy URL to ClipBoard
想要将Unity工程Commit到SVN服务器,直接在工程文件Commit是不行的,我们必须先创建一个空文件夹,这里我们创建E:\UnityProjects\ResLoadPrgSVN
工程,我们进入,右键——TortoiseSVN——Checkout,输入用户名和密码(如果让输入的话),点击OK。
然后进入E:\UnityProjects\ResLoadPrg
工程,将Assets、Packages、ProjectSettings三个文件夹复制粘贴到E:\UnityProjects\ResLoadPrgSVN
工程内部
我们使用SVN时,也是只管理Assets、Packages、ProjectSettings三个文件夹
在某些情况下,只管理Assets一个文件夹也可以,不过要记得统一开发人员的ProjectSettings
SVN过滤
进入E:\UnityProjects\ResLoadPrgSVN
工程内部,点击空白处右键——TortoiseSVN——Properties
在弹出的窗口中点击”New“——Other,在新弹出的窗口的Property name中选择svn:ignore,在Properly value中输入,点击OK
1 | *.csproj |
然后再点击空白处右键——TortoiseSVN——Settings,在弹出的界面左侧——General中有Global ignore pattern,在其中添加(注意前后用空格分割)
1 | *.csproj *.sln Library Temp |
提交
点击空白处右键——TortoiseSVN——Add,全选
点击空白处右键——TortoiseSVN——Commit,填写版本说明信息,检查提交内容是否正确,点击OK
提交完成后,我们使用UnityHub打开ResLoadPrgSVN
工程,生成其他必要的文件
Unity项目设置
Edit——Project Settings——Editor:Version Control:Visible Meta Files
Edit——Project Settings——Editor:Asset Serialization Mode:Force Text
Edit——Preferences——Packages:Repository:External
设置Jenkins
我们可以回到之前的“Android测试Test”Jenkins构建,然后点击配置,我们进行修改
General
将“描述”改为“ResLoadPrg_PC”
将“this project is parametered”——“String Parameter”——“WorkPath”改为E:\UnityProjects\ResLoadPrgSVN
将“自定义的工作空间”改为:E:\UnityProjects\ResLoadPrgSVN
将“显示名称”修改为“ResLoadPrg_PC”
BuildSetps
在Execute Windows batch command里面填写
1 | svn cleanup %WorkPath% |
如果此电脑设置了多个用户,可能会出现Jenkins无法连接远程服务器的情况。
此时我们需要在Windows图标上右键——计算机管理
在弹出的窗口左侧点击“服务和应用程序”——“服务”
找到“Jenkins”——右键——属性
在弹出的窗口中选择“登录”选项卡,然后选中“此账户”,点击“浏览”。会弹出一个窗口
我们进入C盘,选择“用户”文件夹,找到管理员用户的名称,然后将此名称填进刚才弹出的窗口中,选择“检查名称”,点击“确定”
回到“登录”选项卡,把管理员用户的Windows密码填进去,确定
最后我们在计算机管理窗口中重启Jenkins服务。
测试命令行执行Unity
我们进入ResLoadPrgSVN
工程,在Editor文件夹内新建TestEditor
脚本
1 | using UnityEngine; |
添加完脚本之后关闭Unity编辑器。然后打开TortoiseSVN,Add——Commit一下。
修改Jenkins的“ResLoadPrg_PC”构建的配置,在BuildSteps里面“Add build step”——选择Invoke Unity3d Editor,在“Unity3d installation name”中输入“2021.3.22”,在“Editor command line arguments”里面输入:
1 | -projectpath %WorkPath% -quit -batchmode -executeMethod TestEditor.JenkinsTest -logFile "E:\unity3DJenkins.txt" |
-projectpath
:Unity工程文件目录
-quit
:执行完毕后关闭Unity
-batchmode
:在命令模式下执行