✏️ 2023-01-30 Today I Learn

@mitoconcrete · January 30, 2023 · 2 min read

220130 : CI/CD를 해보자

CI(Continuous Integration) 는 지속적인 통합이라는 뜻이다. 말이 좀 와닿지가 않는데, 개발자들이 안전이 보장된 환경에서 개발을 할 수 있도록 테스트와 빌드를 지속적으로 테스트하여 코드의 품질을 체크하는 일이다.

CD(Continuous Deployment) 는 지속적인 배포라는 뜻으로, 코드가 자동으로 원격서버로 배포되어 구동되도록 만드는 것이다. 배포가 되는 코드는 품질검증이 끝난 코드여야하기 때문에, 보통은 CI와 함께 진행한다.

github는 actions라는 CI 환경을 제공한다. 나는 작은 프로젝트를 만들어서 PR시 해당 코드의 검증을 자동으로 할 수 있도록 설정해두었는데, 지속적으로 test 시 오류가 나는 에러상황이 발생했다. actions를 선택하고, gradle java환경을 선택하게되면 .github이라는 파일을 자동으로 생성해주는데, 이 파일에 적혀진 내용대로 내부적으로 테스트를 하는 것 같았다. 하지만, 이 테스트 환경에서 gradlew 경로를 잘 잡지 못해서 test를 돌리지 못했고, 그에따라 파일이 빌드도 되지않는 불상사가 일어났다.

처음에는 직접 gradlew 의 경로를 셋팅해주었는데, 테스트환경의 내부가 어떻게 구성되어있을지 몰라서, 상대경로로 작성했다. 하지만, 이걸 잘 인식하지 못하는 것 같았다. 따라서, .github의 경로가 있는 곳으로 모든 어플리케이션파일들을 이동시켰더니, 잘 동작하기 시작했다. 내부적인 경로를 잘 셋팅해줘야함을 깨달았다.

@mitoconcrete
어제보다 조금 더 성장하기 위해 기록합니다.