GitLab issue를 GanttLab을 사용하여 Gantt 차트화

업무로 GitLab CE에서 리포지토리 관리, 태스크 관리를 실시하고 있습니다. 태스크의 실적을 Gantt 차트에서 보이게 하고 싶다는 요구가 나왔기 때문에, GanttLab.com | A live Gantt chart for GitLab and GitHub 를 사용해 실현해 보았습니다.

참고 : GanttLab 자체가 GanttLab.com | A new GanttLab is out 🎉에 쓰여진 것처럼 full rewrite 중답고 아직 상용하기에는 부족한 기능이 많이 있습니다.
덧붙여서 GitLab Preminum의 Silver 이상이라면, Roadmap 기능을 사용할 수 있으므로, 도입되고 있다면 그쪽을 사용하는 것이 좋을까 생각합니다.

GanttLab 설치



GitLab CE 자체는 사내 서버에 docker로 세우므로 Ganttlab도 같은 서버에 세우기로 합니다.
설치 지침은 docs/download-and-install.md · master · GanttLab / GanttLab · GitLab에서 찾을 수 있습니다.

docker image가 준비되어 있어, 커스터마이즈가 필요하면 스스로 build 할 필요가 있을 것 같습니다. 이번에는 커스터마이즈 할 필요가 없을 것 같기 때문에, 고맙게 오피셜의 docker image를 사용하기로 합니다.
docker-compose에서 GitLab CE 자체를 실행하고 있으므로 docker-compose.yml에 GanttLab에 대한 설정을 추가합니다.

docker-compose.yml
ganttlab:
  image: 'ganttlab/ganttlab:latest'
  restart: always
  ports:
    - '8282:80'
docker-compose up 그렇다면 :8282에서 액세스할 수 있어야 합니다.

GitLab CE와 협력


:8282에 액세스하면 다음과 같은 GitLab과의 연동 대화 상자가 나타납니다.



personal access token이 필요하므로 사전에 취득해 둡니다.

취득 방법은, Personal access tokens | GitLab
Scope는 api로 둡니다. (아래 스크린 샷은 read_api입니다) 현재 GanttLab에서 write 액세스하는 일은 없을 것 같습니다. 이 구현 될 것 같습니다.

Ability to edit start and due dates right from GanttLab (#10) · Issues · GanttLab / GanttLab · GitLab

사용법





에 상세하지만,

StartDate는 아래 규칙에 따라 표시되며 위에서부터 순서대로 우선합니다.
1. issue description의 GanttStart로 시작하는 행
2. (GitLab 전용) milestone 시작일
3. issue가 만들어진 날

Due Date는 아래와 같이 여기도 마찬가지로 위에서 차례로 우선됩니다.
  • issue description의 GanttDue로 시작하는 행
  • (GitLab 전용)issue의 Due date
  • (GitLab 전용 milestone의 Due date
  • issue start date

  • GitLab의 경우, Due date는 있지만, Start date는 독립적으로 준비되어 있지 않고, Issue description내의 read_api 를 사용하는 것이 좋을 것 같기 때문에, issue template에 써 두는 것이 좋을 것 같습니다.

    Issue template 예제



    .gitlab/issue_templates/template.md
    
    GanttStart: 2020-XX-YY
    /due in 1 weeks
    

    How it works /README.md · master · GanttLab / GanttLab · GitLab 을 사용하면 due date의 입력을 조금 즐길 수 있습니다.

    좋은 웹페이지 즐겨찾기