본문 바로가기

CI CD/jenkins

(2)
[Jenkins] Jenkins에서 generic webhook trigger plugin으로 webhook 이용하기 이 글은 젠킨스에서 github으로 부터 전달되는 payload를 받아서 사용하고 싶은데 괜찮은 플러그인이 없을까 해서 찾아보다가 알게된 방법을 적고 있다. 시작하기 전에 젠킨스가 외부(즉 깃헙)에서 접근이 되어야 하기 때문에 외부 도메인이 필요한데, 나는 집에서 젠킨스를 도커로 띄우고 있어 외부 도메인이 없었다. 나같이 테스트 환경에서 테스트하고 싶은 사람들은 "ngrok"을 통해서 외부 도메인을 연결해주면 된다. Ngrok 설치 및 실행 (젠킨스 외부 도메인 오픈) 1. mac인 경우 brew로 설치 brew install --cask ngrok 2. 8080포트를 ngrok 도메인에 연결 나는 현재 젠킨스를 8080으로 포트포워딩 해서 사용중이라 8080포트로 연결했다. ngrok http 8080..
[Jenkins] Jenkins에서 sonarQube 추가하기 Jenkins란 소스코드를 지속적으로 통합하여 빌드하고 배포까지 가능하게 하는 도구이다. 오픈소스로 많은 회사에서 CI/CD tool로써 사용하고 있고, CD까지 가능하지만 쿠버네티스를 사용하는 곳에서는 CD도구인 Argocd CD와 결합하여 사용하기도 한다. SonarQube란 소스코드의 품질을 높이기 위해서 버그, 코드스멜, 취약점 분석등을 수행할 수 있는 정적 분석 도구이다. 이또한 오픈소스이고 돈주고 사용할 수도 있다. 그러면 젠킨스랑 소나큐브랑 뭔 상관이야? 라고 한다면 젠킨스는 코드를 지속적으로 통합하여 빌드 및 배포를 해주는 도구라고 했는데, 빌드에서 성공했고, 테스트 코드가 통과했다고 해서 배포해도 되는 코드일까? 혹시 보안적으로 취약한 코드는 아닐까? 그래서 젠킨스에서 빌드한 코드를 소나..