Profile > Setting > Developer Settings > Personal Access Tokens
에서 Submodule을 접근하기 위한 access token을 발급해준다. 부모 프로젝트에서 Github Actions workflow가 repo에 checkout 할 때 해당 키를 넣어주지 않으면 private으로 지정된 submodule에 접근할 수 없어서 이후 과정에서 오류가 나기 때문에 필요하다.
Scope에 repo만 체크해주고 주고 나머지는 필요한 경우가 아니면 권한을 주지 않는 것이 보안상 안전하다.
이제 서브 모듈이 적용된 부모 프로젝트의 Action secrets에 발급된 토큰 값을 넣어준다. 이렇게 해서 workflow를 설정하는 yml 파일에 access key를 노출하지 않고 적용시킬 것이다.
checkout 할 때 private repo로 설정되어 있는 서브모듈에 접근하려면 key를 넣어주어야 한다. workflow yml 파일을 수정해준다.
Gradle로 빌드하는 부분도 수정해주었다.
JAR로 패키징하기 전에 서브 모듈이 가지고 있던 applicaiton.yml 파일이 원래 위치해야할 곳인 resources 아래로 옮기는 테스크를 수행하도록 하였다. 해당 테스크는 copyApplicationYml
라는 이름으로 사전에 직접 build.gradle에 정의해 두었다.
아무 파일이나 수정 후 push
해서 테스트해보면 정상적으로 deploy 되는 것을 확인할 수 있다. 실제 서버에도 잘 반영되는 것을 확인하였다.