본문 바로가기

ops285

sonar quality gates 적용할 quality gates를 생성 rule을 생성 프로젝트에 새로 추가된 Quality Gates를 추가해준다. quality gate의 결과를 jenkins 서버로 전송하기 위한 web hook 설정을 해준다. 파이프라인에서의 quality gate 설정 quality gate의 결과가 정상적으로 전송이 되었다. 2025. 11. 19.
jenkins에 sonarscanner 적용하기 curl 요청은 정상적으로 sonarqube가 실행되고 있는 서버로 전송되고 응답을 받는다. sonarscanner를 실행하는 스테이지에서 curl로는 성공했던 주소로 연결을 할수가 없다고 한다. (토큰을 통한 인증 그러한 문제가 아니다, 그랬다면 curl도 연결을 할수가 없었을 것이다.) jvm 관련 문제일수도 있다고 하여서 ip 주소 앞에 프로토콜을 명시해 주었다. 빌드 성공 sonarqube 서버에서 확인한 결과 2025. 11. 19.
jenkins 파이프 라인에 sonarqube 적용하기 현재 jenkins ci에는 mock 테스트와 checkstyle(코드 표준 검사)가 적용이 되어있다. 각각의 테스트 결과는 workspace의 build/reports 하위 디렉터리게 존재한다. (checkstyle: checkstyle, mock: tests)생성된 리포트를 스캔해서 sonarqube 서버에 업로드 하려고 한다. 403에러와 함께 설치가 되지 않는다. (검색해 보니 다운로드 서버가 한국에서 막혀서 그렇다고 한다.)sonarqube는 도커로 설치하기로 했다 sonarqube와 db를 모두 컨테이너로 만들수도 있으나 db는 이미 로컬에 설치되어 있으므로 sonarqube만 컨테이너로 실행 하려고 한다. 위의 파일에서 sonarqube 컨테이너에서 오는 요청만 받기 위해 마지막 줄에.. 2025. 11. 18.
nginx default index.html 파일 위치 load balancer 테스트를 위해서 가상머신을 생성하고 nginx를 설치/usr/share/nginx/html/index.html 을 수정하고 나서 nginx 서비스를 재시작 하였는데 curl로 내용을 확인해 보니 변경한 내용이 반영이 되지 않았다. 위의 파일을 수정 변경사항 정상 출력 2025. 11. 16.
docker 허브가 아닌 다른 registry에 로그인하기 docker login 계정명과 비밀번호를 입력해주면 로그인이 된다. 2025. 11. 15.
스프링 부트 프로젝트에 checkstyle 적용하기 -checkstyle-> 코딩 표준을 지켜서 코드를 작성했는지 확인할수 있게 해주는 플러그인 build.gradle의 plugins 영역에 id 'checkstyle' 을 추가 프로젝트의 최상위 디렉터리에 위와 같이 config/checkstyle 형태의 디렉터리 생성 및 파일 생성 checkstyle.xml에는 위의 내용과 같은 코드를 추가 터미널의 루트 프로젝트에서 위의 명령어를 실행 테스트 실패 원인을 보니 코드 작성시 tab을 사용해서 에러가 발생한거 같다. tab관련 설정을 주석처리 후 다시 시도 테스트가 정상적으로 종료 https://docs.gradle.org/current/userguide/checkstyle_plugin.html The Checkst.. 2025. 11. 13.
jenkins 파이프 라인으로 job실행시 환경변수를 찾지 못하는 문제 pipeline으로 jenkins에 등록해둔 환경변수를 찾지 못하는 문제가 발생했다. java11, gradle-7.6.4가 필요한데 pipeline에서 전역 JAVA_HOME의 값을 읽어서 오는거 같았다 gradle은 이렇게 절대경로를 주어서 사용할수는 있을거 같으나 다른 withEnv라는 함수를 사용해서 진행해 보기로 하였다. 먼저 jenkins에 전역 변수로 설정되어 있는 값들을 가지고 온다. withEnv함수의 인자로 배열을 선언할수 있는데 위와 같이 사용할 변수들을 선언해 주면 함수 안에서 사용할수 있다. gradle 버전이 잘 출력된다. java 버전도 잘 출력이 된다. 2025. 11. 12.
Spring Boot에서 MockMVC를 사용하여 api 테스트 진행하기 @SpringBootTest어노테이션을 사용하면 service및 repository 계층에 대해서 테스트를 진행할수 있다. 하지만 컨트롤러 계층에 대한 테스트를 진행하려면 다른 방식을 사용하여야 한다. mokito를 사용할수도 있으나 servlet.MockMvc를 사용하여 테스트를 진행해 보았다. 1. 테스트 클래스 -> 테스트할 컨트롤러 클래스만 명시해 주었다. -> 테스트에 필요한 MockMvc와 ObjectMapper를 주입받도로 해주었다. 2. 테스트 내용 -> 컨트롤러로 전달되는 값의 형태로 만들어주기 위해 ObjectMapper객체를 사용하였다. 3. 테스트 클래스 위치 확인 -> 테스트시 특정 테스트 클래스만 테스트 하기 위해 위치 확인 4.테스트 진행 -> 테스트가 필요.. 2025. 11. 11.
jenkins cli로 job 생성하기 -"-auth"에서 두번째 인자로 사용되는 값은 jenkins에서 해당 유저에 대해서 생성한 api-key이다.java -jar ./jenkins-cli.jar -s http://localhost:8080/ -auth test:$test_user_api_key create-job backend_ci_pipeline -job이 생성된것을 확인할수 있다. 2025. 11. 10.