Github에서 .yml 파일 같은 민감한 정보를 숨기기 위해 git submodule을 사용할 수 있다.
1. public repository 생성

만약 yml 같은 민감 정보를 이미 업로드했다면, 삭제해줘야한다.
2. 민감한 정보를 담을 private repository 생성

여기서 New repostiory 클릭

Private로 만들고 Create repository 버튼 클릭

여기서 Create new file 클릭
yml 파일 업로드.

그럼 이렇게 만들어진다.
3. public repository에 submodule 등록
먼저, submodule repository의 주소를 복사한다 Code 클릭 > HTTPS 에서 복사 아이콘 클릭

git submodule add ${서브 모듈로 등록할 github repository 주소}

이렇게 메인 프로젝트에 submodule을 등록한다.

그럼 이렇게 submodule이 생긴 것을 잘 확인할 수 있다.
4. gitmodules 확인


프로젝트의 최상위 폴더에 .gitmodules 파일이 생성된 것을 확인할 수 있다.
메인 프로젝트를 github로 push 시, 아래와 같이 main 프로젝트에 submodule이 생성된다.

4. submodule 파일 수정 시
만약 submodule 파일이 수정되었다면,
git submodule update --remote 명령어로 최신 내용을 업데이트할 수 있다.
5. gradle을 submodules의 내용을 빌드 시 가져오기
submodule 폴더에 있는 yml파일을 빌드 시에 src/main/resources 경로로 가져오게 하는 작업이 필요하다.
build.gradle에 아래 코드를 추가한다.
task copyPrivate(type: Copy) {
copy {
from './pettopia-back-submodule'
include "*.yml"
into 'src/main/resources'
}
}
저기서 from '' 안에 들어가는 이름은 본인의 submodule의 폴더를 지칭하고, include는 포함할 파일, into는 빌드 시 넣을 경로를 지칭한다.

실행했을 때, 테이블이 잘 생성되는 것을 확인할 수 있다!
'코딩 > Git' 카테고리의 다른 글
github 협업, github organization, 그룹 협업 (0) | 2024.05.16 |
---|
Github에서 .yml 파일 같은 민감한 정보를 숨기기 위해 git submodule을 사용할 수 있다.
1. public repository 생성

만약 yml 같은 민감 정보를 이미 업로드했다면, 삭제해줘야한다.
2. 민감한 정보를 담을 private repository 생성

여기서 New repostiory 클릭

Private로 만들고 Create repository 버튼 클릭

여기서 Create new file 클릭
yml 파일 업로드.

그럼 이렇게 만들어진다.
3. public repository에 submodule 등록
먼저, submodule repository의 주소를 복사한다 Code 클릭 > HTTPS 에서 복사 아이콘 클릭

git submodule add ${서브 모듈로 등록할 github repository 주소}

이렇게 메인 프로젝트에 submodule을 등록한다.

그럼 이렇게 submodule이 생긴 것을 잘 확인할 수 있다.
4. gitmodules 확인


프로젝트의 최상위 폴더에 .gitmodules 파일이 생성된 것을 확인할 수 있다.
메인 프로젝트를 github로 push 시, 아래와 같이 main 프로젝트에 submodule이 생성된다.

4. submodule 파일 수정 시
만약 submodule 파일이 수정되었다면,
git submodule update --remote 명령어로 최신 내용을 업데이트할 수 있다.
5. gradle을 submodules의 내용을 빌드 시 가져오기
submodule 폴더에 있는 yml파일을 빌드 시에 src/main/resources 경로로 가져오게 하는 작업이 필요하다.
build.gradle에 아래 코드를 추가한다.
task copyPrivate(type: Copy) {
copy {
from './pettopia-back-submodule'
include "*.yml"
into 'src/main/resources'
}
}
저기서 from '' 안에 들어가는 이름은 본인의 submodule의 폴더를 지칭하고, include는 포함할 파일, into는 빌드 시 넣을 경로를 지칭한다.

실행했을 때, 테이블이 잘 생성되는 것을 확인할 수 있다!
'코딩 > Git' 카테고리의 다른 글
github 협업, github organization, 그룹 협업 (0) | 2024.05.16 |
---|