Confluene 자동화

Kyu Yeon 'rebel' Lee·2022년 11월 26일
0

현재진행형 문서입니다.
생각날때마다 업데이트 예정

개요

  • 문서 작성하다가 빡침
  • 어떻게 하면 일을 덜하고 일을 더할수 있을까 고민
  • 언제나 그렇듯, 나만 화난건 아니라는것을 기억
  • 베이스로 시작하기 좋은 프로젝트 발견

과정

시도

  • 일단 툴을 써본다
  • 될건 되더라. Confluence를 git으로 관리할 수 있겠다 수준까지 확인
  • 정말 많은 생각을 했지만, 여러사람이 쓰는거라서 일부 기능을 제한적으로 오픈하는것 확인
    • 지금은 나랑 아는사람만 쓸꺼니까 필요 없어! 없는건 만든다!

제한점 확인

  • 파일 읽기 일부가 안됨
  • Confluence의 1 매크로 1 라인 정책때문에 뒤집어진다

마개조 시작

바로 푹찍 포크: https://github.com/rebel1324/mark

  • json/yaml to markdown table 제작중
  • 일부 미지원 매크로 직접 지원하도록 수정
  • json / yaml 을 불러와서 template화 시킬수 있는 기능 추가
  • 커스텀 매크로 기능 추가
  • 현황 업데이트를 1분안에 할 수 있도록 도움이 될만한건 다 추가 한다
    • 추후에는 pom.xml, gradle.build를 파싱해서 사용하는 라이브러리를 다 찾아내서 한 문서에 자동 정리하는거까지 한다! 우스!
    • static analysis 결과물을 바로 컨플 문서로 변환하는거까지 한다 우스!

사용 케이스 / 파이프라인 구성

  • git version to version changelog? 참을수 없다.
    rust-gliff를 이용하여 변경사항 다 가져와서 바로 Markdown으로 만들어버리고, 변환된 문서를 바로 Confluence에 올리도록 구성!
    뭐가 바뀌었는지 바로바로 적용 가능하니까, 사실상 조사하는데 시간이 안들어간다.
  • Jenkins 현황 분석? Jenkins에는 API가 있다. 이 API를 이용해서 Jenkins현황 빌드 등을 자동으로 뽑아낸다.
    • 뽑아낸것도 포맷팅해서 CROND Schedule, 실행 셸, 프로젝트 소속 등을 한번에 정리한다.
    • 이걸 하는데 1시간도 안들음. = 하루종일 종합할 문서를 1시간에 했다는건 다른거 할 시간이 늘어났다는것
  • 모든 게시글의 포맷화
    • 안내는 안내대로
    • 절차 설명은 더 읽기 쉽고 만들기 쉽게 딱딱딱
  • API 상세 문서
    • 솔직히, Swagger읽으면 되긴 하는데 프로젝트를 켜야한다. 다른거 하다가 분석해야할때 Swagger를 일일히 틀수 없지 않은가?
    • 그렇다면 API문서를 다른 분에게 공유 가능하도록 Swagger를 바로 컨플로 변환해주는거를 만든다.
    • 어디랑 연관있냐고 물어볼때 그것만 공유하면 되니 얼마나 좋은지

연동 시작

0개의 댓글