学习使用时序图并集成到GitLab

简介: gitlab集成

本文将简单的介绍的PlantUML的使用。

最近有一个需求, 扩展GitLab功能将文本图表自动转换成图片 ,在GitLab官方文档中,发现 kroki可以解决这个问题。

Kroki是什么

kroki是一个开源的免费工具,可以将基于文本的图表描述自动转为图片,支持私有化部署,当然官方也提供了在线服务。

kroki支持多种图表API:

Kroki provides a unified API with support for BlockDiag (BlockDiag, SeqDiag, ActDiag, NwDiag, PacketDiag, RackDiag), BPMN, Bytefield, C4 (with PlantUML), Ditaa, Erd, Excalidraw, GraphViz, Mermaid, Nomnoml, Pikchr, PlantUML, SvgBob, UMLet, Vega, Vega-Lite, WaveDrom... and more to come!

如何安装

通过docker安装

docker run -d --name kroki -p 18080:8000 yuzutech/kroki:0.15.1

然后即可通过ip:18080访问,安装好,默认将支持以下不同图表的API。

使用方式

安装完成之后,即可通过curl或者http命令测试

  • curl
curl https://$ip:$port/graphviz/svg --data-raw 'digraph G {Hello->World}'
  • http
apt-get install httpie
http https://$ip:$port diagram_type='graphviz' output_format='svg' diagram_source='digraph G {Hello->World}'

具体可以参考kroki官网提供的诸多图表API的案例

如何集成到GitLab服务

  1. On the top bar, select Menu > Admin.
  2. Go to Settings > General.
  3. Expand the Kroki section.
  4. Select Enable Kroki checkbox.
  5. Enter the Kroki URL.

配置完成之后,即可在Gitlab支持markdown的地方使用。例如issue、README.md等。

敲敲黑板!重点来了,环境搞定了,那图表应该怎么画呢?这里就要介绍另外一款开源的UML绘图工具了: PlantUML

PlantUML是什么

plantuml支持哪些图表

PlantUML是一个开源项目,支持快速绘制以下图表:

同时还支持以下非UML图:

可以生成PNG,SVG 或 LaTeX 格式的图片,也可以生成 ASCII艺术图(仅限时序图),这里可以通过在线示例服务器自己动手试试。例如:

这里针对以上时序图简要介绍一下:

  • title可以用于指定UML图的标题;
  • 通过actor可以声明人形的参与者;
  • 通过participant可以声明普通类型的参与者;
  • 通过as可以给参与者取别名;
  • 通过->可以绘制参与者之间的关系,虚线箭头可以使用-->
  • 在每个参与者关系后面,可以使用:给关系添加说明;
  • 通过autonumber我们可以给参与者关系自动添加序号;
  • 通过activatedeactivate可以指定参与者的生命线。
以上参考macrozheng的博客文章

图表中使用的是IDEA的PlantUML智能提示插件: PlantUML integration,可以在插件->应用市场安装即可。通过代码快速的绘制时序图、流程图无疑在日常开发中比一些复杂的需要在Processon绘制的更快捷和高效。

其他更多图表的绘制使用文档可以参考PlantUML的官网参考学习即可。中文版,讲解的很清楚。

图表编辑工具

在线版

离线版

资料分享

微信订阅号内回复"uml"获取PlantUML Language Reference Guide PDF

相关文章
|
2月前
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
2月前
|
测试技术
软件质量保护与测试(第2版)学习总结第十三章 集成测试
本文是《软件质量保护与测试》(第2版)第十三章的学习总结,介绍了集成测试的概念、主要任务、测试层次与原则,以及集成测试的不同策略,包括非渐增式集成和渐增式集成(自顶向下和自底向上),并通过图示详细解释了集成测试的过程。
63 1
软件质量保护与测试(第2版)学习总结第十三章 集成测试
|
2月前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
115 1
|
2月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
70 0
|
2月前
|
Java Spring
springboot 学习十一:Spring Boot 优雅的集成 Lombok
这篇文章是关于如何在Spring Boot项目中集成Lombok,以简化JavaBean的编写,避免冗余代码,并提供了相关的配置步骤和常用注解的介绍。
105 0
|
2月前
|
机器学习/深度学习 算法 前端开发
集成学习任务七和八、投票法与bagging学习
集成学习任务七和八、投票法与bagging学习
22 0
|
2月前
|
机器学习/深度学习 算法
【机器学习】迅速了解什么是集成学习
【机器学习】迅速了解什么是集成学习
|
2月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
165 0
|
4月前
|
Shell Docker 容器
GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
|
3月前
|
Docker 容器
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
Docker安装Gitlab和Gitlab-Runner并实现项目CICD

相关实验场景

更多