Github Branch Rulesets 로 프로젝트 안전하게 관리하기
·
협업
들어가며안녕하세요. 요즘에 플러피(fluffy)라는 온라인 시험 문제 제작 및 관리 서비스를 개발하고 있습니다. 이 프로젝트에서는 main, dev, feat, fix 브랜치를 사용하는 git flow를 사용하고 있습니다. dev로의 pull request는 squash merge로만 허용하고 있고, main으로의 pull request는 rebase merge로만 허용하고 있습니다. 또한 main, dev으로 force 푸쉬하는 것을 금지하고, github actions를 통해 테스트를 자동화하고 있습니다. 이렇게 까다롭게 규칙을 정한 이유는 프로젝트를 안전하게 관리하기 위해서입니다. 하지만 이런 규칙을 정하고 관리하는 것은 쉽지 않습니다. 특히, 프로젝트에 참여하는 사람이 많아지거나, 프로젝트의 규모..
Git Submodule(서브모듈)을 통해서 Spring 설정(yml) 관리하기
·
협업
들어가며안녕하세요. 요즘에 플러피(fluffy)라는 온라인 시험 문제 제작 및 관리 서비스를 만들고 있습니다.공부를 위한 프로젝트이기 때문에 레포지토리는 현재 public으로 공개되어 있습니다. 서버 개발을 하는 경우 다양한 민감 정보를 사용하게 됩니다. 예를 들어, 데이터베이스 접속 정보, 인증을 위한 시크릿 키, OAuth 인증을 위한 클라이언트 ID, 시크릿, AWS S3 버킷 정보 등이 있습니다. 이러한 정보들은 보안상의 이유로 외부에 노출되어서는 안됩니다. 이러한 정보들을 관리하는 방법은 간단하게 다음과 같이 나눌 수 있습니다.yml 파일을 .gitignore에 추가하여 레포지토리에 올리지 않는 방법환경변수를 사용하여 정보를 주입하는 방법서브모듈을 사용하여 외부 레포지토리에서 정보를 가져오는 방..