TeamCity工作流(二)
1.前言
上一篇TeamCity大概介绍了开发、打包及更新流程,这篇继续上一篇遗留的一个问题不能自动化的问题。
2.TeamCity Dependent Build
上一篇的流程中需要将YooAsset的增量包提交到仓库中所以不能在有变动时自动出包及制作更新包,就刚好利用TeamCity的依赖构建[1]先在基础设置中配置构建物收集目录
目录支持*通配符,规则[2]大概就是从项目目录 => TeamCity目录
,上述配置构建成功后可得到如下构建物:
设置完Artifact Paths后,去设置一下Dependencies
就YooAsset做更新而言(其他资源更新方式也是差不多的流程),我配置了两个依赖:
- 首包资源(YooAsset首包会有一个
1
版本的资源目录及原始bundle资源目录UnityManifest
) - 增量资源:基于上一个版本构建出来的资源目录及版本号文件
UnityManifest/StaticVersion.bytes
其中首包依赖中需要剔除版本为1的UnityManifest/StaticVersion.bytes
剔除规则就是用-:
目录或者文件的形式,之所以要剔除是因为无法覆盖,会报错_(我遇到这个错了,但没有继续深究是否可以追加什么参数强制覆盖)_
配置完成后可以点击Check artifact dependencies
按钮进行检查。
至此,当往hotfix分支提交或者合并的时候就会自动开始制作更新包并上传到CDN服务器上了。
3.遗留问题
- Artifact paths 无法添加条件
因为我是release、hotfix两个分支共用了一个build,但有不同分支收集不同构建物的需求,但Artifact paths
这边尚未找到指定分支或其他条件的办法 ,示例中也只是列举了通配符、打包zip等操作。所以我现在的出包和热更得有一个需要手动改一下路径 :(
Artifact Dependency 下 必须存在依赖的Artifact
在我第一次热更新的时候 实际上是没有上个热更包内容的,所以构建的时候会提示下载Artifact失败,必须先手动禁用这个依赖 :(两个Artifact有同名文件时会合并出错
这个后面再研究一下吧
最后,再研究一下Snapshot Dependencies
快照形式的构建能不能解决上述的头两个问题。以及还要再做一个release分支合并后批量生成APK
的步骤。