Saltar al contenido

Cómo integrar diagramas UML en GitLab o GitHub

Este grupo de especialistas pasados algunos días de investigación y de recopilar de datos, dieron con la solución, deseamos que resulte de gran utilidad para tu plan.

Solución:

Editar: Alternativa con servicio Proxy

Esta forma es significativamente diferente y más simple que la respuesta a continuación; utiliza el servicio proxy PlantUML:

http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.github.com/plantuml/plantuml-server/master/src/main/webapp/resource/test2diagrams.txt

La rebaja de GitHub para esto sería:

![alternative text](http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.github.com/plantuml/plantuml-server/master/src/main/webapp/resource/test2diagrams.txt)

Este método adolece de no poder especificar el formato SVG (el valor predeterminado es PNG)y quizás no sea posible solucionar el error de almacenamiento en caché mencionado en los comentarios.


Después de probar la otra respuesta, descubrí que el servicio era lento y aparentemente no estaba actualizado con la última versión de PlantUML.

Encontré una forma diferente que no es tan sencilla, pero funciona a través del servidor de PlantUML.com (en la nube). Como tal, debería funcionar en cualquier lugar donde pueda vincular a una imagen.

Explota el !includeurl función y es esencialmente una indirección. El archivo Markdown se vincula a una fuente PlantUML que incluye la fuente del diagrama. Este método permite modificar la fuente en GitHub y cualquier imagen en los archivos Markdown de GitHub se actualizará automáticamente. Pero requiere un paso complicado para crear la URL de la indirección.

Diagrama de como funciona

  1. Obtenga la URL de la fuente PlantUML sin procesar, por ejemplo, https://raw.githubusercontent.com/linux-china/plantuml-gist/master/src/main/uml/plantuml_gist.puml (usando el ejemplo en la respuesta de joanq)

  2. Vaya a http://plantuml.com/plantuml/form (o PlantText.com) y cree una fuente PlantUML de una línea que use el !includeurl URL-TO-RAW-PLANTUML-SOURCE-ON-GITHUB operación. Continuando con la URL de ejemplo, la (meta)fuente de PlantUML es:

    !includeurl https://raw.githubusercontent.com/linux-china/plantuml-gist/master/src/main/uml/plantuml_gist.puml
    
  3. Copie la URL de la imagen de la imagen de PlantUML.com, por ejemplo, http://plantuml.com:80/plantuml/png/FSfB2e0m303Hg-W1RFPUHceiDf36aWzwVEl6tOEPcGGvZXBAKtNljW9eljD9NcCFAugNU15FU3LWadWMh2GPEcVnQBoSP0ujcnS5KnmaWH8-O_k y péguelo en su archivo GibDown. Esta URL no cambiará.

    ![PlantUML model](http://plantuml.com:80/plantuml/png/3SNB4K8n2030LhI0XBlTy0YQpF394D2nUztBtfUHrE0AkStCVHu0WP_-MZdhgiD1RicMdLpXMJCK3TC3o2iEDwHSxvNVjWNDE43nv3zt731SSLbJ7onzbyeF)
    

Prima: Incluso puede obtener acceso al formato SVG modificando el plantuml/png/ parte de la URL para ser plantuml/svg/ como sigue

![PlantUML model](http://plantuml.com:80/plantuml/svg/3SNB4K8n2030LhI0XBlTy0YQpF394D2nUztBtfUHrE0AkStCVHu0WP_-MZdhgiD1RicMdLpXMJCK3TC3o2iEDwHSxvNVjWNDE43nv3zt731SSLbJ7onzbyeF)

Ejemplo en GitHub

https://github.com/fuhrmanator/course-activity-planner/blob/master/ooad/overview.md

Advertencia con repositorios privados

Como señaló davidbak en un comentario, el archivo sin formato en un repositorio privado tendrá una URL con token= en él, y este token cambia a medida que se actualiza el archivo fuente. Desafortunadamente, el descuento se interrumpe cuando esto sucede, por lo que debe actualizar el archivo Léame. después envía el archivo a GitHub, que no es una gran solución.

Descubrí que es posible hacer esto usando plantuml-gist en http://uml.mvnsearch.org/

Simplemente coloque un archivo puml válido en el repositorio e incluya un enlace a este sitio en la documentación.

Por ejemplo, para el archivo https://github.com/linux-china/plantuml-gist/blob/master/src/main/uml/plantuml_gist.puml en GitHub, usaría http://uml.mvnsearch.org /github/linux-china/plantuml-gist/blob/master/src/main/uml/plantuml_gist.puml como su enlace.

Así es como se ve vinculado en StackOverflow:

Imagen UML http://uml.mvnsearch.org/github/linux-china/plantuml-gist/blob/master/src/main/uml/plantuml_gist.puml

Desafortunadamente, no parece funcionar con GitLab. Siempre aparece el mensaje “No se encontró ningún archivo PUML”, aunque verifiqué la ruta varias veces.

EDITAR: servidor en uml.mvnsearch.org parece abajo.

Esta es una vieja pregunta, pero surge temprano en la búsqueda de soluciones a este problema.

ACTUALIZAR

GitLab ahora admite diagramas Mermaid y PlantUML en su oferta pública. Mermaid es compatible fuera de la caja.

```mermaid
sequenceDiagram
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob:Another authentication Response
Bob --> Alice: Another authentication Response
```

Ejemplo

Respuesta original

Las otras respuestas discuten GitHub, pero vale la pena señalar que GitLab tiene una integración nativa para esto, si está implementando internamente. Por alguna razón, nunca activaron la función en su oferta pública. Hay entradas abiertas para activar la función.

Si está trabajando con una solución alojada interna, hay instrucciones disponibles en la documentación de administración.

Básicamente tú

  1. construya su propio servidor plantuml
  2. comprobar el Enable PlantUml en la configuración del servidor GitLab
  3. escriba PlantUml en su descuento
```plantuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
   
Alice -> Bob: Another authentication Request
Alice <-- Bob: Another authentication Response
```

Aquí tienes las comentarios y puntuaciones

Tienes la posibilidad dar visibilidad a este ensayo si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *