[우아한테크코스 4기] 220725-26 F12 개발일지

Jihoon Oh·2022년 7월 26일
0

우아한테크코스 4기

목록 보기
28/43
post-thumbnail

정신없고 피곤한 이틀이 지나가다 보니 개발일지가 밀렸다… 사실 별로 한 내용도 크게 없어서 쓸 내용도 없기는 하지만 우선은 이틀 동안 한 내용이라도 정리해야 할 것 같다.

오늘 진행한 일

Git Submodule 적용

F12의 백엔드는 외부로 유출되어서는 안되는 여러 정보들을 사용한다. 첫째는 바로 GitHub OAuth를 사용하는데 필요한 GitHub client id와 secret key이며, 둘째는 서비스의 authorization token을 만드는데 필요한 jwt secret key가 그것이다. 이 정보들은 스프링 코드 내에서 application.yml에 작성된 값을 읽어오도록 설정해뒀기 때문에 민감 정보가 들어있는 파일을 분리하고 원격 저장소에 올라가지 않도록 관리해야 했다.

문제는 빌드할 때 이 설정값들이 필요하다는 것. 하지만 원격 저장소, 여기서는 GitHub에는 .gitignore 설정을 통해 올라가 있지 않기 때문에 버전 관리를 받을 수 없었고 어쩔 수 없이 수정 사항이 생기면 직접 배포 서버에 보내주어야 했다. 하지만 git submodule을 사용하면 이 값들을 숨겨서 사용할 수 있기 때문에, 서브모듈을 도입하기로 결정했다.

GitHub에서 서브모듈을 사용하는 방법은 우테코 4기 크루 연로그가 작성한 글에 잘 나와있으니 참고해보도록 하자.

이렇게 woowacourse-f12 라는 팀만의 organization을 생성하고, 그 안에 private 레포지토리로 security라는 이름의 레포를 만들어주었다. 이 레포를 서브모듈로 사용하게 되면 레포 안에 작성하는 모든 파일들을 프로젝트 레포에서도 사용할 수 있게 된다. 단, 이 private 레포지토리에 접근할 수 있는 권한이 있어야 한다.

git submodule을 등록한 뒤 커밋하게 되면 아래 사진처럼 원격 레포지토리에 security 디렉토리가 생기게 된다.

한 가지 유의할 점이 있었다. 원격 저장소에 작성된 application.ymlauth라는 프로필로 민감한 정보를 가져오기 때문에, src/main/resources 디렉토리에 application-auth.yml 파일이 있어야 한다. 하지만 이 파일은 src보다 상위 디렉토리의 security 디렉토리에 있기 때문에 빌드를 하기 위해서는 파일 위치를 옮겨주는 작업이 필요했다. 이 부분은 build.gradle에 빌드 시 서브모듈의 파일을 resources로 옮겨주는 스크립트를 작성해서 해결했다.

task copySubmodule(type: Copy) {
    copy {
        from 'security'
        include "*.yml"
        into 'src/main/resources'
    }
}

오늘 발생한 이슈

프론트엔드 메인 서버 이슈

프론트엔드 메인 서버를 배포하는 과정에서 nginx가 계속 500 internal server error를 뱉는 이슈가 있었다. 저녁에 개인 일정이 있는 관계로 마무리하지 못했는데, 이 부분은 내일 오전에 프론트엔드 팀원들과 함께 해결할 예정이다.

내일 목표

우선 프론트엔드 메인 서버 이슈를 해결한 뒤 서브모듈을 도입한 브랜치로 자동 CI/CD가 되는지 테스트해보고, 스프린트 3에서 요구하는 배포 요구사항(https, WS + WAS)을 수행하기 위해 공부해 볼만한 자료를 수집할 예정이다.

profile
Backend Developeer

0개의 댓글