Comment intégrer des diagrammes UML dans GitLab ou GitHub
Je veux le publier certains documentation de programmation, j'ai dans un public disponible référentiel. Cette documentation a du texte formaté, certains diagrammes UML, et beaucoup d'exemples de code. Je pense que GitHub ou GitLab sont de bons endroits pour le publier.
De publier les diagrammes UML, je voudrais avoir quelques facile de les tenir à jour dans le référentiel et le plus visible des images dans le wiki. Je ne veux pas garder les diagrammes dans mon ordinateur (ou sur le cloud), de les éditer, de générer une image, puis de le publier à chaque fois.
Est-il un moyen de mettre les diagrammes dans le référentiel (dans PlantUML syntaxe serait l'idéal), les lier dans le markdown, et de faire les images de mise à jour automatique à chaque fois que le schéma est mis à jour?
Vous devez vous connecter pour publier un commentaire.
Après avoir essayé l'autre réponse, j'ai découvert le service est lent et ne semble pas jusqu'à la dernière version de PlantUML.
J'ai trouvé une autre manière qui n'est pas tout à fait aussi simple, mais il fonctionne via PlantUML.com's serveur (dans le nuage). En tant que tel, il devrait fonctionner n'importe où vous pouvez vous connecté à une image.
Il exploite le
!includeurl
function et est essentiellement une indirection. La démarque des liens vers des fichiers à un PlantUML source qui inclut le diagramme de la source. Cette méthode permet de modifier le code source sur GitHub, et toutes les images dans le GitHub démarque des fichiers sera automatiquement mise à jour. Mais il nécessite une étape délicate pour créer l'URL de l'indirection.https://raw.githubusercontent.com/linux-china/plantuml-gist/master/src/main/uml/plantuml_gist.puml
(à l'aide de l'exemple de la joanq réponse)Aller à http://plantuml.com/plantuml/form (ou PlantText.com) et de créer une ligne de PlantUML source qui utilise le
!includeurl URL-TO-RAW-PLANTUML-SOURCE-ON-GITHUB
opération. En continuant avec l'exemple d'URL, le PlantUML (méta)source:Copier l'URL de l'image à partir de PlantUML.com l'image, par exemple, http://plantuml.com:80/plantuml/png/FSfB2e0m303Hg-W1RFPUHceiDf36aWzwVEl6tOEPcGGvZXBAKtNljW9eljD9NcCFAugNU15FU3LWadWMh2GPEcVnQBoSP0ujcnS5KnmaWH7-O_kEr8TU et de le coller dans votre GitHub démarque de fichier. Cette URL ne change pas.
Bonus: Vous pouvez même obtenir l'accès au format SVG en modifiant la
plantuml/png/
partie de l'URLplantuml/svg/
comme suitExemple sur GitHub
https://github.com/fuhrmanator/course-activity-planner/blob/master/ooad/overview.md
Edit: Alternative avec service de Proxy
De cette façon est sensiblement différent et plus simple que la réponse ci-dessus; il utilise le PlantUML service de proxy:
Le GitHub de markdown pour ce serait:
Cette méthode souffre de ne pas être en mesure de spécifier le format SVG (la valeur par défaut PNG), et c'est peut-être pas possible de travailler autour de la mise en cache bug mentionné dans les commentaires..md
fichiers dans son camo.githubusercontent.com site. J'ai actuellement un cas d'utilisation schéma que j'ai mis à jour, mais les mises à jour n'a pas eu à le.md
fichier après plusieurs jours, même quand j'ai mis à jour d'autres parties de la.md
fichier. J'ai peut-être de toucher les pièces qui font référence à l'image. YMMV.camo
site de photos lorsque l'URL correspond à l'URL de l'image. Une façon de mettre à jour l'URL sans changer il est à ajouter/supprimer des.svg
(ou.png
si vous utilisez ce format). PlantUML ne se soucie pas si vous en avez l'extension à la fin, mais GitHub vont penser que vous avez changé l'URL et mettre à jour son cache encamo.
. Voir github.com/fuhrmanator/course-activity-planner/commit/... pour plus de détails.cache=no
paramètre de l'url doit être ajoutée: plantuml.com/plantuml/proxy?cache=no&src=https://...cache=no
paramètre d'url, PlantUML serveur de jeuCache-Control: no-cache
en-tête, de sorte que le navigateur ne sera pas mis l'image en mémoire cache. Lorsque vous appuyez sur F5 dans le navigateur, une nouvelle demande pour l'image sera fait pour PlantUML serveur. Si vous passer github url de la branche principale, commesrc
(pas de commentaire spécifique), puis PlantUML demande la dernière version de fichier et retourner à jour de l'image.?token=<LONGSTRINGHERE>
dans le cadre de la première url. Malheureusement, ce jeton se modifie à chaque édition de la plantuml source, de sorte que vous avez à travailler un peu pour garder la démarque doc à jour. Mais c'est faisable.J'ai trouvé qu'il est possible de le faire à l'aide de plantuml-gist sur http://uml.mvnsearch.org/
Il suffit de mettre un valide puml fichier dans le référentiel et d'inclure un lien vers ce site dans la documentation.
Par exemple, pour le fichier https://github.com/linux-china/plantuml-gist/blob/master/src/main/uml/plantuml_gist.puml sur GitHub, vous pouvez utiliser http://uml.mvnsearch.org/github/linux-china/plantuml-gist/blob/master/src/main/uml/plantuml_gist.puml que votre lien.
Voici à quoi il ressemble lié à StackOverflow:
UML image http://uml.mvnsearch.org/github/linux-china/plantuml-gist/blob/master/src/main/uml/plantuml_gist.puml
Malheureusement, il ne semble pas fonctionner avec GitLab. J'ai toujours été un "Non PUML fichier trouvé", même si j'ai vérifié le chemin plusieurs fois.
MODIFIER: serveur au uml.mvnsearch.org semble.
C'est une vieille question, mais il arrive tôt dans la recherche de solutions à ce problème.
Autres réponses discuter de GitHub, mais il est intéressant de noter que GitLab a l'intégration native pour cela, si vous êtes le déploiement en interne. Pour une raison quelconque, ils n'ont jamais activé la fonction sur leur appel public à l'épargne. Il y a les billets d'ouvrir pour activer la fonction.
Si vous travaillez à une solution hébergée, il y a des instructions disponibles dans la l'administration de la documentation
Fondamentalement, vous
Enable PlantUml
dans GitLab de configuration du serveur