본문 바로가기

CI, CD5

[Github Actions]모노레포에서 PR 생성 시 레포 별 오토 라벨링 💽 모노레포란?여러 개의 프로젝트 또는 패키지를 하나의 저장소 안에서 관리하는 방식을 말한다.각각의 서비스나 라이브러리를 따로따로 Git 저장소를 만들어서 관리하는 방식은 멀티레포(multi-repo)라고 하고, 반대로 한 저장소 안에 모든 관련 프로젝트를 함께 넣어두고 버전, 빌드, 배포를 함께 관리하는 구조가 모노레포(mono-repo)이다.🏷️ PR 생성 시 오토 라벨링을 적용하려는 이유하나의 모노레포에는 여러가지 패키지/서비스가 공존하기 때문에, PR 생성 시 어느 패키지에 영향을 주는지 확인하고 싶었다.물론 PR 생성자가 직접 작업 범위에 따라 라벨을 추가 해줄 수 있지만, 모노레포의 크기가 커질수록 번거롭고 실수할 가능성이 커진다.🤖 오토 라벨링 적용 방법https://github.com.. 2025. 7. 26.
[Git] 모노레포 관련 개념 및 도구 정리 모노레포모노레포(Monorepo, Monolithic Repository)는 여러 프로젝트(패키지)를 하나의 저장소(repository)에서 관리하는 방식이다.왜 모노레포를 사용하는가?1. 코드 재사용 및 일관성 유지모노레포에서는 여러 프로젝트(패키지)가 하나의 저장소에 있기 때문에, 공통 라이브러리나 유틸 함수를 여러 프로젝트에서 쉽게 공유할 수 있다. (ex. @libs/utils, @libs/components 등을 만들어 여러 프로젝트에서 사용이 가능하다.)모든 프로젝트가 동일한 버전의 의존성을 가지므로, 버전 충돌이나 설정 차이로 인한 오류를 줄일 수 있다.2. CI/CD 파이프라인 최적화프로젝트(패키지)별로 변경된 부분만 빌드하고 테스트 할 수 있어 효율적인 CI 사용이 가능하다.모든 패키지를.. 2025. 5. 23.
[Git] Git 브랜치 전략 (git flow, github flow, gitlab flow) Git 브랜치 전략 종류 git flow 전략 전통적으로 많이 사용되는 방식으로, 이 방법을 사용하면 master 브랜치는 항상 PROD와 동일한 상태를 바라볼 수 있다. 브랜치 종류 master PROD 배포 버전을 관리하는 메인 브랜치 hotfix PROD에서 발생하는 버그를 수정하기 위한 보조 브랜치 release 다음 버전 배포를 준비하는 보조 브랜치 develop 다음 버전 배포를 개발하는 메인 브랜치 feature 새로운 기능을 개발하는 보조 브랜치 문제점 git flow 전략에서 release는 하나만 존재한다. develop에 완료된 기능을 release에 태우고, release에서 테스트를 진행한다. 따라서, 배포가 빈번하다면 배포 예정 작업(ex. v1.0.0)을 테스트할 수 없는 병목.. 2023. 8. 25.
[CI/CD] github actions를 사용해서 npm 배포 자동화하기 git petch ... npm install npm build npm login ... npm publish 번거로운 npm 배포 작업을 자동화하는 방법은 없을까? github actions을 사용해서 npm publish 과정을 자동화해보자 npm package 정보 등록 package.json 정보(v9.6.5 기준) npm 배포를 위해서는 패키지에 대한 기본 정보를 제공하는 package.json가 존재해야 한다. 그 중에서도 패키지명(name)과 버전(version)은 배포를 위한 필수 정보이다. 패키지명(name) 패키지 배포를 위해서는 필수적으로 입력해야하는 정보로 아래와 같은 몇 가지 규칙이 존재한다. 214자 이하여야 한다. (scoped package의 경우 scope 포함) scope.. 2023. 5. 2.
[Heroku] Heroku and Github : Items could not be retrieved, Internal server error node로 만든 개인프로젝트를 간단하게 호스팅하기 위해서 Heroku를 사용하고 있다. 원래는 Heroku Git CLI를 사용하다가, Deployment method 중 Connect to Github로 Automatic deployment가 가능하길래 후자를 사용하던 중이었다. 그러나, 메일로 날라온 Automatic deployment Fail 안내 An automatic deployment for bus-information-site failed. The build failed with the message Unauthorized. Token from user was used to interact with GitHub. This account was matched as the GitHub comm.. 2022. 5. 5.