programing

UML 다이어그램을 GitLab 또는 GitHub에 통합하는 방법

javaba 2021. 1. 15. 19:12
반응형

UML 다이어그램을 GitLab 또는 GitHub에 통합하는 방법


공개적으로 사용 가능한 저장소에있는 일부 프로그래밍 문서를 게시하고 싶습니다. 이 문서에는 서식이 지정된 텍스트, 일부 UML 다이어그램 및 많은 코드 예제가 있습니다. 나는 GitHub 또는 GitLab이 이것을 게시하기에 좋은 장소라고 생각합니다.

UML 다이어그램을 게시하기 위해 저장소에 업데이트 된 상태로 유지하고 위키에서 이미지로 볼 수있는 쉬운 방법이 필요합니다. 컴퓨터 (또는 클라우드)에 다이어그램을 보관하고 편집하고 이미지를 생성 한 다음 매번 게시하고 싶지 않습니다.

저장소에 다이어그램을 넣고 (PlantUML 구문이 이상적임) 마크 다운 텍스트에 연결하고 다이어그램이 업데이트 될 때마다 이미지가 자동 업데이트되도록하는 방법이 있습니까?


다른 답변을 시도한 후 서비스가 느리고 PlantUML의 최신 버전이 아닌 것 같습니다.

그렇게 간단하지는 않지만 PlantUML.com의 서버 (클라우드)를 통해 작동하는 다른 방법을 찾았습니다. 따라서 이미지에 핫 링크 할 수있는 모든 곳에서 작동 합니다 .

그것은 기능을 이용 하고!includeurl 본질적으로 간접적입니다. 마크 다운 파일은 다이어그램의 소스를 포함하는 PlantUML 소스에 연결됩니다. 이 방법을 사용하면 GitHub에서 소스를 수정할 수 있으며 GitHub 마크 다운 파일의 모든 이미지가 자동으로 업데이트됩니다. 그러나 간접 URL을 생성하려면 까다로운 단계가 필요합니다.

작동 원리 다이어그램

  1. 원시 PlantUML 소스에 대한 URL을 가져옵니다 https://raw.githubusercontent.com/linux-china/plantuml-gist/master/src/main/uml/plantuml_gist.puml( 예 : joanq의 답변에있는 예제 사용).
  2. http://plantuml.com/plantuml/form (또는 PlantText.com)으로 이동 하여 !includeurl URL-TO-RAW-PLANTUML-SOURCE-ON-GITHUB작업 을 사용하는 단선 PlantUML 소스를 만듭니다 . 예제 URL에서 PlantUML (메타) 소스는 다음과 같습니다.

    !includeurl https://raw.githubusercontent.com/linux-china/plantuml-gist/master/src/main/uml/plantuml_gist.puml
    
  3. PlantUML.com의 이미지, 예를 들어,에서 이미지 URL을 복사 http://plantuml.com:80/plantuml/png/FSfB2e0m303Hg-W1RFPUHceiDf36aWzwVEl6tOEPcGGvZXBAKtNljW9eljD9NcCFAugNU15FU3LWadWMh2GPEcVnQBoSP0ujcnS5KnmaWH7-O_kEr8TU 하고 GitHub의 인하 파일에 붙여 넣습니다. 이 URL은 변경되지 않습니다.

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

보너스 : plantuml/png/URL 일부 plantuml/svg/를 다음과 같이 수정하여 SVG 형식에 액세스 할 수도 있습니다.

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

GitHub의 예

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

편집 : 프록시 서비스의 대안

이 방법은 위의 답변과 크게 다르고 간단합니다. PlantUML 프록시 서비스를 사용합니다 .

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

이에 대한 GitHub 마크 다운은 다음과 같습니다.

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

이 방법은 SVG 형식을 지정할 수 없습니다 (기본값은 PNG)., 그리고 주석에 언급 된 캐싱 버그를 해결하는 것이 불가능할 수도 있습니다.


http://uml.mvnsearch.org/ 에서 plantuml-gist를 사용하여이 작업을 수행 할 수 있음을 발견했습니다.

저장소에 유효한 puml 파일을 넣고 문서에이 사이트에 대한 링크를 포함하기 만하면됩니다.

예를 들어 GitHub의 https://github.com/linux-china/plantuml-gist/blob/master/src/main/uml/plantuml_gist.puml 파일의 경우 http://uml.mvnsearch.org를 사용합니다. /github/linux-china/plantuml-gist/blob/master/src/main/uml/plantuml_gist.puml .

다음은 StackOverflow에서 연결된 것처럼 보입니다.

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

불행히도 GitLab에서는 작동하지 않는 것 같습니다. 경로를 여러 번 확인했지만 항상 "No PUML file found"라는 메시지가 나타납니다.

편집 : uml.mvnsearch.org의 서버가 다운 된 것 같습니다.


이것은 오래된 질문이지만이 문제에 대한 해결책을 찾기위한 초기에 나온다.

다른 답변은 GitHub에 대해 논의하지만 사내 배포하는 경우 GitLab에이를위한 기본 통합이 있다는 점에 주목할 가치가 있습니다. 어떤 이유로 그들은 공개 오퍼링에서 기능을 활성화하지 않았습니다. 기능을 활성화하기 위해 열려 있는 티켓 이 있습니다.

사내 호스팅 솔루션으로 작업하는 경우 관리 설명서에 지침이 있습니다.

기본적으로 당신

  1. 나만의 plantuml 서버를 세우십시오.
  2. 을 확인 Enable PlantUmlGitLab 서버 구성에
  3. 마크 다운에 PlantUml 작성
```plantuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: Another authentication Response
```

참조 URL : https://stackoverflow.com/questions/32203610/how-to-integrate-uml-diagrams-into-gitlab-or-github

반응형