본문 바로가기

Projects/푸하하 - 개인 프로젝트19

[테스트 코드] JaCoCo을 통한 코드 커버리지 확인 '놓친 테스트 코드는 없을까?' 항상 고민하던 주제다. '분명 누군가 이것에 대한 해결책을 만들어뒀을텐데' 하는 마음에 검색해본 끝에 JaCoCo를 발견했다. 세팅 build.gradle에 추가만 해주면 된다. //build.gradle plugins { id 'jacoco' } test { finalizedBy jacocoTestReport } jacocoTestReport { dependsOn test } 리포트 확인 Gradle - test 한번 돌려주면 build폴더에 jacoco 폴더가 생겨있다. index.html 를 통해 리포트를 확인할 수 있다. index.html 코드까지 확인할 수 있다. 느낀 점 그동안 구현에 집중하느라 테스트코드 작성법에 대해 공부조차도 못했는데, 현재 21% Ins.. 2023. 11. 24.
[트러블 슈팅] github actions를 이용한 CD구현 도중 오류 (비공개 파일 포함해서 빌드하기, https) 1. 문제 발견 - Gradle Build 실패 yml 파일상 해당 부분을 살펴보면 이게다다. save-state라는 command를 찾을 수 없다. Warning은 경고니까 실제로는 동작에는 문제가 없을수도 있다고 생각했다. Error를 난 부분을 찾아보면 gradlew파일을 실행할 수 없다고 나온다. 해결 - 실행권한 부여 Actions를 위해 생성된 Ubuntu 환경에서 접근을 할 수 없는 걸 수도 있겠다 싶어서 실행 권한을 부여했다. Gradle 실행이 됐다! 2. 보완 - 변수명 재설정 구글링해온 파일을 맞게 수정해야 하는데 이 과정을 놓쳤다. Nov23이 아니라 어제 띄워둔 jar이 계속 실행중이었다. 스크립트 파일 변수명 지정이 제대로 되어있지 않았다. 스크립트대로면 spring-webapp.. 2023. 11. 23.
[트러블] 쿠키 인식 오류. (다른 도메인 쿠키 접근 불가) 문제발견 로컬환경에서는 react-cookie를 통해 해당 쿠키 값을 가져올 수 있었다. 배포하니 쿠키를 가져올 수 없다. 원인분석 다른 도메인의 쿠키에는 접근할 수 없다. 현재 프론트엔드는 github.io 도메인에 배포가 되어있다. 결과적으로 wooin-dev.github.io에서는 foohaha-~ 도메인인 쿠키에 접근할 수 없다. 직접 확인해보기 다른 도메인의 쿠키만 있는 경우 console.log( ) 해보아도 나오지 않는다. 도메인이 섞여있는 경우 careers.kakao.com 사이트에서 쿠키 접근하기 careers.kakao.com에서 서브도메인인 careers를 제외하고 kakao.com의 도메인인 쿠키에는 접근이 가능했다. + HttpOnly = true; 인 쿠키에도 접근이 불가능했다.. 2023. 11. 20.
로컬, 개발환경 변수 따로 적용하기 (개발환경, 배포환경 분리하기, 크롬 SSL 인증서경고 무시) 문제인식 프론트, 백 모두 배포했다. 그러다보니 개발할때 로컬환경에서 해야할 때, API URI와 같은 변수들이 다르게 적용되어야 한다. 나중에 이 글을 보면 이런걸 이제야 했나 싶을정도로 미리 알아뒀어야 싶지 싶다. 설정 방식 Spring application-local.properties 파일을 만들어서 IDE에서 실행시 환경변수로 해당 프로필을 선택하는 방식으로 구성. 기본값은 배포환경설정으로. 환경에 따라 변하는 변수 front-end-base-uri를 지정했다. 일반적으로 실행될 때 기본값으로 실행될 것이다. application-local.properties 파일을 새롭게 만든 뒤, 같은 변수명으로 덮어씌울 값을 할당했다. 그리고 개발시 IDE에 실행될때 해당 local 프로필이 활성화되도록 .. 2023. 11. 13.
https로 프론트, 백을 배포하며 마주한 트러블들 해결 완료 프론트를 로컬 환경에서 https로 적용하기 mkcert로 로컬용 인증서를 만들어주고 root폴더에 가져왔다. 그리고 CRA에 기본적으로 세팅된 start 스크립트를 아래처럼 변경했다. (윈도우 환경) "start": "set HTTPS=true&&set SSL_CRT_FILE=cert.pem&&set SSL_KEY_FILE=key.pem&&react-scripts start", github page 배포 기본 옵션 root 폴더의 index.html을 로드한다. 없으면 readme.md가 로드된다. 따로 빌드된 폴더가 필요하고 이를 도와주는 라이브러리인 gh-pages로 배포 완료. 자동으로 githup page배포에 맞게 빌드된 브랜치를 생성해 준다. github page 배포로 인한 SP.. 2023. 11. 10.
ubuntu에서 만든 pem 인증서로 Spring Boot에 적용하기 https://thiswooin.tistory.com/117 SSL인증서 발급 받기 (Let's encrypt, certbot, ubuntu, ec2, spring boot) https://thiswooin.tistory.com/115 SSL인증서를 발급 받기 위해 도메인을 구매하고 이를 설정까지 마쳤다. SSL인증서를 발급받고, SSL? CA? SSL 인증서는 아무데서나 발급해주지 않는다. CA라고 불리는 인증기 thiswooin.tistory.com 도메인을 구입하고, SSL 인증서를 발급받았다. 이제 이 파일을 Springboot파일에 적용시켜 https 포트로 동작시켜볼 시간이다. 참고로, 우분투에서 생성하긴 했지만 인증서는 OS에 의존성을 갖진 않는다. 진행한 과정이 우분투에서일뿐. 아래의 순서.. 2023. 11. 9.