用文本创建图表的工具PlantUML

什么是 PlantUML ?

PlantUML 是一种开源工具,允许用户从纯文本语言创建图表。除了各种 UML 图之外,PlantUML 还支持各种其他软件开发相关格式,以及 JSONYAML 文件的可视化。PlantUML 语言是特定领域语言的一个示例。

什么是 PlantUML Server ?

PlantUML Server 是一个用于动态生成 UML 图的 Web 应用程序,能够直接在浏览器中创建 PlantUML图。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 plantuml ,选择第一个 plantuml/plantuml-server:jetty,版本选择 latest

本文写作时, latest 版本对应为 jetty,具体的说是 jetty-v1.2023.12

端口

本地端口不冲突就行,不确定的话可以用命令查一下

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8284 8080

环境

老苏没有设置,但是实际上 PlantUML 支持环境变量设置,可以参考官方文档:https://github.com/plantuml/plantuml-server#how-to-set-plantuml-options,根据需要进行设置

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 运行容器
docker run -d \
   --restart unless-stopped \
   --name plantuml-server \
   -p 8284:8080 \
   plantuml/plantuml-server:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: '3'

services:
  plantuml-server:
    image: plantuml/plantuml-server:latest
    container_name: plantuml-server
    restart: unless-stopped
    ports:
      - 8284:8080

然后执行下面的命令

bash 复制代码
# 新建文件夹 plantuml 
mkdir -p /volume1/docker/plantuml

# 进入 plantuml 目录
cd /volume1/docker/plantuml

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8284 就能看到主界面

可以设置主题

软件本身比较简单,重要是学会使用简单直观的语言来创建图表,可以参考官方的 PlantUML 语言参考指引,文档有中文版:https://plantuml.com/zh/guide

VSC 集成

PlantUML 集成在多种外部工具中,比如 Visual Studio Code。直接安装 PlantUML Extensions

安装完成后,需要设置服务器地址

支持的文件类型:.wsd,.pu,.puml,.plantuml,.iuml

所以我们新建一个 test.puml文件,内容如下

复制代码
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: Another authentication Response
@enduml

Windows 上可以用 Alt + D 预览,在 MacOS 上则是 option + D

参考文档

plantuml/plantuml: Generate diagrams from textual description

地址:https://github.com/plantuml/plantuml
plantuml/plantuml-server: PlantUML Online Server

地址:https://github.com/plantuml/plantuml-server
使用简单的文字描述画UML图的开源工具。

地址:https://plantuml.com/zh/

相关推荐
柳如烟@7 分钟前
Docker安装ES :确保 Kibana 正确连接 Elasticsearch
运维·数据库·elasticsearch·docker·容器·kibana
weisian15120 分钟前
云原生--核心组件-容器篇-2-认识下Docker(三大核心之镜像,容器,仓库)
docker·云原生·容器
weisian1512 小时前
云原生--核心组件-容器篇-3-Docker核心之-镜像
docker·云原生·容器
大米☋5 小时前
Docker-高级使用
linux·运维·docker·容器·centos
Anarkh_Lee12 小时前
Neo4j在win下安装教程(docker环境)
docker·容器·neo4j
正经教主13 小时前
【问题】解决docker的方式安装n8n,找不到docker.n8n.io/n8nio/n8n:latest镜像的问题
运维·docker·容器·n8n
joker_zsl14 小时前
docker的安装和简单使用(ubuntu环境)
运维·docker·容器
啥都想学的又啥都不会的研究生15 小时前
Kubernetes in action-初相识
java·docker·微服务·容器·kubernetes·etcd·kubelet
赵我说的做_life16 小时前
基于Docker的Flask项目部署完整指南
docker·容器·flask
江畔独步17 小时前
docker容器监控&自动恢复
docker·容器·eureka