- 0
- 0
- 0
分享
- 游戏工业化?TA们该如何协作开发
-
2022-06-28
本文转自公号:Pipeline
前言
Gitlab 代码管理 CI/CD 单元测试,持续部署,保证工具的稳定行 Rez 解决包之间的部署与环境管理 Sentry 错误日志上报,工具出错我们第一时间能收到错误警报,根据对应的错误log快速定位问题
工具无感知部署与更新,美术不需要自己安装工具插件 工具可配置化,可以根据不同组的需求配置我们的工具 软件中心化部署,像Houdini和Blender这样的软件都是纯中心部署,美术同学本地不需要安装这些软件,通过我们的工具架启动即可使用 工具开发效率和迭代速度明显提升 成为了美术与程序之间的桥梁 整个项目组的工具部署变得十分容易,美术,程序,策划,PM,QA等都从中受益
半年后因为家庭缘故离开了这家公司,
希望我当初搭建的那套框架后面可以越来越好。
以下工具推荐源于我个人的工作经验
不代表行业最终解决方案
工具推荐
Rez (软件的集成包配置、构建和部署系统)
(ShowTD主要是负责项目上的工具需求)
软件中心化部署,不用用户本地安装即可或者定制化的工具或者软件 部署numpy等数学计算库到3DsMax 和 Maya 中 通过rez变体解决工具跨平台跨DCC的部署 通过rez build 在构建时动态patch第三方包源码 通过rez变体解决python第三方包与DCC内置第三方包版本冲突问题等等
GitLab (企业版本)
https://about.gitlab.com
https://www.cnblogs.com/cjsblog/p/12256843.html
https://docs.gitlab.com/ee/ci/
Sentry (跨平台的应用程序监控,专注于错误报告)
https://github.com/getsentry/sentry
kubernetes (生产级别的容器编排系统)
https://www.redhat.com/zh/topics/containers/kubernetes-architecture https://jimmysong.io/kubernetes-handbook/
Opentelemetry (便携式遥测技术,以实现有效的可观测性)
https://jimmysong.io/opentelemetry-obervability/history.html
协作开发的建议
编写可读性强的Git提交消息
https://cbea.ms/git-commit/ https://github.com/commitizen-tools/commitizen
善用logging记录工具中所发生的事情
选定一套代码风格为标准并且实施
https://www.runoob.com/w3cnote/google-python-styleguide.html https://tox.wiki/en/latest/
语义化版本
https://semver.org/lang/zh-CN/
单元测试
https://www.testim.io/blog/unit-testing-best-practices/ https://insights.dice.com/2022/05/23/python-unit-testing-best-practices-to-follow/
结语
-
阅读原文
* 文章为作者独立观点,不代表数艺网立场转载须知
- 本文内容由数艺网收录采集自微信公众号CG世界 ,并经数艺网进行了排版优化。转载此文章请在文章开头和结尾标注“作者”、“来源:数艺网” 并附上本页链接: 如您不希望被数艺网所收录,感觉到侵犯到了您的权益,请及时告知数艺网,我们表示诚挚的歉意,并及时处理或删除。