PlantUML
PlantUML이 GitLab에서 활성화되고 구성되면 스니펫, 위키 및 리포지토리에서 생성 된 AsciiDoc 및 Markdown 문서에서 간단한 다이어그램을 만들 수 있다.
1. PlantUML 서버
GitLab에서 PlantUML을 활성화하기 전에 다이어그램을 생성 할 PlantUML 서버를 직접 설정해야 한다.
1.1. Docker
Docker를 사용하면 다음과 같이 컨테이너를 실행할 수 있다.
docker run -d --name plantuml -p 8080:8080 plantuml/plantuml-server:tomcat
Docker에서 GitLab을 실행할 때는 PlantUML 컨테이너에 액세스 할 수 있어야 하며, 가장 쉬운 방법은 Docker Compose 를 사용하는 것이다.
Docker Compose는 다중 컨테이너 Docker 애플리케이션을 정의하고 실행하기위한 도구로 YAML 파일을 사용하여 응용 프로그램 서비스를 구성한다. 그러고 나서 단일 명령으로 구성에서 모든 서비스를 작성하고 시작한다.
간단한
docker-compose.yml
파일은 다음과 같다.
version: "3"
services:
gitlab:
image: 'gitlab/gitlab-ce:12.2.5-ce.0'
environment:
GITLAB_OMNIBUS_CONFIG: |
nginx['custom_gitlab_server_config'] = "location /-/plantuml/ { \n proxy_cache off; \n proxy_pass http://plantuml:8080/; \n}\n"
plantuml:
image: 'plantuml/plantuml-server:tomcat'
container_name: plantuml
PlantUML은 URL에서 GitLab에 액세스 할 수 있다.
http://plantuml:8080/
.
2. GitLab 설정을 사용하여 로컬 PlantUML에 액세스 할 수 있도록 설정
PlantUML 서버는 서버에서 로컬로 실행되므로 외부에서 액세스할 수 없으며 따라서 외부 PlantUML 호출을 잡아서 로컬 서버로 리디렉션 해야 한다.
리디렉션을 활성화하려면
/etc/gitlab/gitlab.rb
에서 아래 내용을 포함시키면 된다.
설정에 따라 각 호출을 로컬 PlantUML 서버https://gitlab.example.com/-/plantuml/
에서http://plantuml:8080/
또는http://localhost:8080/plantuml/
로 리디렉션 시킨다.리디렉션을 활성화하려면
/etc/gitlab/gitlab.rb
에 아래와 같이 추가한다.
# Docker deployment
nginx['custom_gitlab_server_config'] = "location /-/plantuml/
{ \n proxy_cache off; \n proxy_pass http://plantuml:8080/; \n}\n"
# Built from source
nginx['custom_gitlab_server_config'] = "location /-/plantuml
{ \n rewrite ^/-/(plantuml.*) /$1 break;\n proxy_cache off;
\n proxy_pass http://localhost:8080/plantuml; \n}\n"
변경 사항을 활성화하려면 다음 명령을 실행한다.
3. Enable PlantUML
PlantUML을 활성화하고 지정한 URL을 설정한다.