반응형

간단 지식/SW validation&verification 9

08. SonarQube 설치 + CTIP 환경 구성 후기

소나큐브는 정적분석도구로, pmd나 checkstyle이나 findbugs라는 도구들도 플러그인으로 설치하여 사용할 수 있으므로 유용하게 사용할 수 있다. 다만 젠킨스, 레드마인에 비해 설치가 까다롭고 느리다는 점에서 가장 다루기 어려웠다. 처음에는 뭣도 모르고 sonarqube 7.2.1 버전을 설치했는데 힘들게 오류까지 고치고 난 후에야 pmd, checkstyle, findbugs의 버전과 호환이 안되는 버전이라는 사실을 알아버렸다. 그리고 하나의 ec2서버에서 젠킨스, 레드마인 ,소나큐브까지 다 start한 상태에서 프로젝트를 build하니 서버가 먹통이 되버렸다. 공간을 swap하고 서버의 볼륨을 늘려봐도 똑같았다. 이 모든게 소나큐브가 너무 무겁다는 점에서 온 문제들이었다. 식견이 짧은 학부생..

06. Jenkins와 SonarQube 연동하기

1. ec2 서버에 소나큐브를 설치 후 아래 명령어로 실행 #root계정으로 ec2 서버에 ssh로 접속 su sonarqube cd /opt ls#소나큐브가 설치되어 있는지 확인 cd sonarcube1 ls#bin파일이 있는지 확인 cd bin ls#linux-x86-64가 있는지 확인 cd linux-x86-64 ls#sonar.sh가 있는지 확인 ./sonar.sh start ./sonar.sh console 2. 소나큐브 url(http://publicIP:9000)로 접속하여 로그인 3. ec2서버에 소나큐브 스캐너 설치 결과적으로, /var/lib/jenkins/sonar-sanner-3.3.0.1492-linux/sonar-sanner-3.3.0.1492-linux 가 sonar runne..

05. Github Pull Request로 jenkins에서 빌드

원래 목표는 fork한 레포지토리에서 pull request를 날리면 즉시 젠킨스에서 자동으로 빌드하는 것이었다. 하지만 정말 몇날 며칠을 고민해도 알 수 없는 문제로 인해 빌드 주기를 설정하여 pull request 받은 내역들을 주기적으로 자동빌드하기로 했다. 1. github 관련 plugin 설치 GitHub Integration Plugin, GitHub Pull Request Builder 이 외의 것은 아마 깃허브와 젠킨스를 연동할 때 설치했었을 것이다. 2. github webhook 추가 웹훅이란 trigger 발생 시 HTTP POST payload를 웹훅에서 설정한 URL로 보내주는 서비스이다. 여기서 payload는 젠킨스 url/github-webhook/을 입력해주고 secret..

04. Jenkins와 Redmine 연동

젠킨스에서 플러그인으로 레드마인을 제공하기는 한다. 다만 이 플러그인이 벌써 4년이나 지난 오래된 플러그인이기도 하고 그간 업데이트도 안되서 그런지 플러그인 설치는 되지만 제대로 기능을 하지 못한다. 아래 그림처럼 젠킨스에 레드마인이 곧장 연결되고, 또 클릭하면 레드마인으로 이동하기는 하지만, 그 이상의 기능을 수행하지 못한다. 따라서 좋은 방법은 아니지만 zapier를 사용하기로 했다. 교수님께서도 중간에 V&V 도구가 아닌 것들이 끼는 것이 좋지 않다고 하셨지만 일단 젠킨스와 레드마인을 선택한 상황에서 별다른 수가 떠오르지 않았다. 1. Zapier 접속 후 create Zap 2. trigger 설정 trigger에서 jenkins를 선택하고 trigger event로는 New job status ..

03. Redmine과 Github연동

Redmine은 프로젝트 관리 도구임과 동시에 issue tracking이라는 유용한 기능이 추가되어 있다. 덕분에 맨티스나 트랙같은 bug tracking 도구들이 좀처럼 쓰이지 않는 것 같다. 지난 포스트에서 우리는 젠킨스와 깃허브를 연동했다. 2021.03.30 - [4학년/SW validation&verification] - 01. Jenkins와 Github 연동 01. Jenkins와 Github 연동 1. 깃허브에서 token 발행 깃허브 사이트에서 내 프로필사진을 눌러보면 여러 항목들이 뜨는데 그 중 Settings을 선택한다. 새로운 항목들이 또 주르륵 뜨는데, 그 중 맨 밑에 있는 Developer settings을 20plus3.tistory.com 코드를 수정하고 깃허브에 커밋한 후..

02. Redmine 설치 - AWS ec2 기반

애초에 redmine 같은 도구들에 관해서 자료가 많지는 않지만, 대다수가 로컬 컴퓨터에 redmine을 설치하는 예제이다. 그러나 용량이 여유가 없다면 AWS를 사용하여 리눅스 가상 서버에서 설치를 하는 것도 좋은 방법이다. AWS 사용방법에 대해서는 이전 포스트를 참고하자. 2021.03.30 - [3학년/web] - 04. AWS, Docker, jenkins 설치 04. AWS, Docker, jenkins 설치 1. AWS에 접속 & 회원가입 AWS Management Console (amazon.com) https://us-east-2.console.aws.amazon.com/console/home?region=us-east-2 us-east-2.console.aws.amazon.com 2. ..

01. Jenkins와 Github 연동

1. 깃허브에서 token 발행 깃허브 사이트에서 내 프로필사진을 눌러보면 여러 항목들이 뜨는데 그 중 Settings을 선택한다. 새로운 항목들이 또 주르륵 뜨는데, 그 중 맨 밑에 있는 Developer settings을 선택한다. 또 뜨는 항목 중 Personal access tokens을 선택하고 generate new token을 누른다. Note에는 token이름을, 아래 select scopes에서는 repo, admin:org, admin:repo_hook을 체크해주고 generate token을 눌러준다. 그러면 token이 발행되는데 비밀번호를 꼭 복사하자. 2. 젠킨스 관리 시스템 설정 젠킨스 관리 - 시스템 설정에 진입하여 젠킨스 location URL을 수정해준다. -> https..

00. AWS, Docker, jenkins 설치

1. AWS에 접속 & 회원가입 AWS Management Console (amazon.com) https://us-east-2.console.aws.amazon.com/console/home?region=us-east-2 us-east-2.console.aws.amazon.com 2. Amazon Machine Image AMI로 EC2생성 생성 단계 중 보안 그룹 구성에서 엑세스 규칙을 추가할 수 있다.(인스턴스 후에도 수정가능) 여기서 유형은 사용자 지정 TCP, 프로토콜은 TCP, 포트범위는 8080, 소스는 사용자 지정인 규칙을 만들어주면 된다. 3. git bash를 열어 ssh로 접속. -> ssh -i 'private key 파일 경로' ec2-user@퍼블릭DNS 4. 순서대로 아래 명령..

반응형