在软件项目开发过程中,DevOps一直是可以深度挖掘的领域。以阿里云效为例,基于DDD,搜集领域需求,迭代计划,任务分配,代码管理,配置流水线,持续集成发布等等,都可以在云平台中管理起来。类似的云开发平台有腾讯云TAPD敏捷开发,华为云Devcloud,百度云效率云,是以搜集需求为起点。或者在云中将需求一条条编号,或者在共享文件夹中将wps需求文档让团队共同编辑参照。而设计文档的工作因为包含许多类图,一般只能word文档存在共享文件夹中,让设计文档在云开发平台中无法被跟踪,也无法在设计修改提交时一眼看出改动过的图形。
CSDN的markdown编辑器中虽有mermaid嵌入,可以展示各种图,但无法集成在其他云开发平台,暂无法在Devops中应用。
目前开源社的赵生宇博士介绍的Hypertrons项目给了启发。该项目可将github中的uml文字文件用于生成PlateUML图片:
1. 在github的repository中安装oss-mentor-bot机器人小程序,它来扫描库中文件。
2.编写UML各种图,形成.uml文本文件,使用
http://github.zhangqx.com/umlrenderer/github/user/repository?path=filename.uml
会生成图片(替换user,repository,filename为自己的设置)。
3. 在repository中设立的design.md文件中用![]()来嵌入图片,就可形成设计文档。当.uml文件修改后,可以在git diff时看出图片哪里有改动,而design.md文件无需修改。
这样,小组共享文件夹就不需要维护设计文档了,只需开发小组在云效等云平台上和github上建立同名项目,需求devops在云平台做,设计在github中做即可。当然如果云平台能集成设计文档,与需求和代码挂钩,就更完美了。
附:
github中有时无法显示生成的图片,是由于github图片服务器的dns无法被解析,可以F墙或者改hosts直接设置dns对应的ip。比如github中的图片显示碎片,对应的链接是:https://camo.githubusercontent.com/9e267361c9961bf6299c8dd33f15fa1dd752f0db/687474703a2f2f6769746875622e7a68616e6771782e636f6d2f756d6c72656e64657265722f6769746875622f5765695a68616e673431382f626c6f636b636861696e2d7475746f7269616c3f706174683d747279756d6c2e756d6c。可取出“camo.githubusercontent.com”到https://www.ipaddress.com/中查对应的IP199.232.68.133。将IP和域名(“199.232.68.133 camo.githubusercontent.com”)加入到hosts文件中,再刷新本机dns缓存(在cmd中输入ipconfig /flushdns),亲测可用。