Skip to content

dusrnth/release-note-integration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

사내 공유 프레젠테이션 자료

문제

  1. 작성하기 번거롭다
  2. 매번 새로운 페이지 생성해야한다
  3. 매번 새로운 페이지 생성하기 때문에,
    항상 새 노션 데이터베이스 생성하므로 데이터베이스의 활용도가 낮다
  4. 여러 모듈이 걸쳐있는 기능이면 중복으로 작성해야한다

구현

1. 배포브랜치 push 이벤트 감지

웹훅

  • 리포지토리에서 셋팅가능
  • 하지만 필터링은 제공하지 않음
  • 필요한 커밋만 가져오도록 신경써줘야하는게 있다고 생각하고,
    젠킨스를 데브옵스 팀에서 관리하기 때문에 도움이 필요할 수도 있을거 같다고 생각해서 좀 보류

API Polling

  • 실시간성이 없다
  • 불필요한 리소스 소모가 지속적으로 생긴다.

Github Action

  • 이미 한번 텔레그램으로 데이터 전송하는거 쓰고 있음
  • 서버 리포지토리 독립적으로 사용 가능
  • Github Action 의 Context 가 꽤 좋음
    • github.event.commit

2.커밋 정보 JSON 으로 파싱

  • sed, tr 등 문자 변환 파이프라인을 계속 이어가면서 쓰는게 낯설어서 배워야하고 가독성 떨어짐
  • json 쓰는것도 너무 가독성 떨어짐 (echo, echo, ....)
  • 파이썬은 문자열 변환이나 JSON 다루기가 쉬웠음

예를 들면

module_names = ...
module_names = [name.replace('@', '').upper() for name in module_names]
' '.join(module_names)
  • JSON 기존 쉘이랑 비교
  • 보편적으로 많이 쓰는 언어이니까 shell 보다 유지보수에 용이하다고 생각
  • IDE에서 어떻게 구현되었는지 간략하게 보여주기

CleanShot 2024-05-15 at 12 22 50

개선된 점

  1. 배포 브랜치 커밋하면 자동으로 작성합니다.
  2. 매번 새로운 페이지 생성할 필요가 없습니다.
  3. 모든 릴리즈 노트를 같은 데이터베이스에 작성하기 때문에, 필터링 기능을 통한 데이터베이스 활용도가 높습니다. (Version, Jira 등)
  4. 여러 모듈이 걸쳐있어도 중복작성하지 않아도 됩니다.

아웃트로

  1. 커밋할때 읽는 사람을 신경써야하기 때문에 커밋을 의미있게 할 수 있음
  2. 별거 아니지만 뭔가 자동화하거나 동료 개발자의 일을 조금이라도 덜어내거나 편하게 하는 것은 늘 뿌듯함.
  3. 다른 팀에서도 도움이 되었으면 좋겠음.
  4. 적는 사람은 편해지지만 기존에 읽는 사람들은 기존 방식대로 읽는게 좋을 수 있다. (노션 API 활용하여 더 자동화)
  5. 새로운 아이디어에 자극이 되었으면 좋겠다.

About

[side-project] 사내 릴리즈 노트 작성 자동화

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published