오늘의 활동
- Docker Compose CI/CD 백엔드 부분 구축
- 백준 2688번
느낀 점
- 오늘은 정말 오류와의 싸움이었다. 시오와 둘이서 계속 생기는 오류들을 해결하느라 진이 너무나 빠진 날이었다. 하지만 결론부터 말하자면 백엔드 부분은 구현 완료했다.
- dev 인스턴스가 없는 문제
- 네모네모는 dev, release 인스턴스 두개로 진행했었지만, 지금 시오의 aws 계정 상황이 좋지 않아 과감하게 dev 인스턴스는 버리기로 결정함
- 이 과정에서 네모네모의 자료와 일치하지 않는 부분이 있어서 오히려 이거 덕분에 코드를 분석하는 계기가 됨
- java 버전 문제
- 이미지 업로드 API가 java 17 이상에서만 작동함
- 그래서 어제 모든 것들 java 17로 바꾸기로 함
build.gradle
문제
- java 17로 바꾼 후, 자동 배포에서 gradle build를 하니 계속 이름 모를 오류가 났음
- 이건 결국 아무리 쌩쇼를 해도
build.gradle
파일의 java version이 11이어서 그랬던 것.
- 17로 바꾸고 해결함
ci-cd.yml
문제
- 네모네모가 예전에 써주었던 글을 보면서 차근차근 진행했었음
- 하지만 workflow에서 계속 오류가 발생했는데, 이 오류의 원인은 많고 많았지만 그 중 제일 힘들게 했던 것은
sudo
였음.
- 원래 ec2에서는 권한 문제 때문에 모든 명령어 앞에
sudo
를 붙여줬는데 자동 배포에서는 붙여주면 오히려 오류가 발생하나 봄. 이거 알고 너무 허무했음
- branch protection (environment) 문제
- 거의 모든 문제를 해결하고 이제 docker쪽 문제만 해결하면 됐었는데, 로그인하는 과정에서 오류가 발생했음. 대체 어디서 나는 건지 모르겠어서 도커 레포지토리도 다시 만들어보는 등 쌩쇼를 함
- 하지만 결론은
ci-cdy.ml
파일에서 environment에 대한 것을 이해를 못했기 때문이었음. 나는 이 environment를 release로 설정했는데, 이게 단순 브랜치를 의미하는 줄 알았음.
- 사실은 깃허브 프로젝트의 environment를 의미하는 것이었고, 그 environment에 release라는 게 생성되어 protection도 그렇고 그 release에 다시 넣어서 해결함
- 모든 문제가 해결되었으니 이제 내일은 프론트 부분만 넣어주면 자동 배포 구축 끝! 이제 테스트 코드 작성 후 리팩토링도 할 수 있고, 드디어 다음주부터 대망의 채팅을 들어갈 수 있음
내일 할 일
- 프론트 부분 마저 해서 완벽하게 돌아가게끔
- 치과
- 시간 남으면 테스트 코드 공부 시작
Leave a comment