자신의 Mac에서 Docker에 Sonar 환경 만들기
무료 웹 서비스를 사용해도 좋지만, 자신을 위해 PC에 환경을 만들어 보았습니다.
전제
boot2docker의 설치 등, docker를 사용할 준비는 여기를 봐 둔다. (이하는 mac의 사람용)
htps : // / cs. 도 c r. 코 m/인 s 타치온/마 c/
설치
sonar 용 MySQL을 Docker에서 시작
우선 MySQL을 넣어 둡니다. 자세한 내용은 여기를.
htps : // 기주 b. 코 m / t 필 s / 도 c 케 r- 소나 r
$ docker run -i -t -d -p 3306:3306 --name smysql tpires/sonar-mysql
sonar를 Docker에서 시작
그런 다음 sonar 본체를 움직이는 컨테이너를 시작합니다. 자세한 내용은 여기를.
그건 그렇고, 9000은 다른 곳에서 사용하기 때문에 9090에서 포트 포워드를하고 있습니다. 아래 명령은 기본값이 아니므로 조심하십시오.
htps : // 레기 스트리. 후 b. 두 c r. 코 m/우/m 자가 r/소나 r5/
注記:
このバージョンのsonarにバグがあることがわかったので、このDockerfileを使うのではなく、最下部に自分が追記したものを使ったほうが良いかもしれません。
$ docker run -i -t -d --name sonar5 -p 9090:9000 --link smysql:db mzagar/sonar5
동작 확인
위의 컨테이너가 일어나면 다음과 같은 느낌이 들 수 있습니다.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
429cbe15ccab mzagar/sonar5:latest "/opt/sonar/bin/linu 4 seconds ago Up 3 seconds 0.0.0.0:9090->9000/tcp sonar5
a9cb3072e148 tpires/sonar-mysql:latest "mysqld_safe" 15 minutes ago Up 15 minutes 0.0.0.0:3306->3306/tcp smysql
아래 명령으로 boot2docker에 할당된 IP를 확인하고 브라우저에서 액세스하면 sonar 화면이 표시됩니다.
$ boot2docker ip
192.168.59.103
초기 화면은 이런 느낌.
기본 사용자는 admin/admin이므로 오른쪽 상단의 링크에서 로그인할 수 있습니다.
사용해보기
자신은 Java를 사랑하는 사람이기 때문에. .
다음은 Maven을 사용하는 경우의 설정입니다.
pom.xml 수정
자신이 관리하는 Maven 프로젝트의 pom.xml을 수정합니다. properties 영역에 다음을 추가합니다.
보통은 이하의 설정으로 갈 수 있다고 생각합니다만, boot2docker의 ip가 따로 되어 있거나, 커스터마이즈 하고 있는 경우는 적절히 변경합니다.
<properties>
<sonar.host.url>http://192.168.59.103:9090</sonar.host.url>
<sonar.jdbc.url>jdbc:mysql://192.168.59.103:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true</sonar.jdbc.url>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>123qwe</sonar.jdbc.password>
</properties>
maven 실행
일반적으로 sonar를 사용할 때와 마찬가지로 다음 명령을 실행합니다.
$ mvn clean install -DskipTests=true
$ mvn sonar:sonar
대시보드 살펴보기
조만간 대시보드를 다시 로드하면 뭔가 나옵니다.
자신의 프로젝트 정보가 향상되었습니다. 죄송합니다.
그리고는 스스로 좋아하는 대로 커스터마이즈 해 좋은 프로젝트 관리 라이프를!
추가
생각하면 sonar5는 자바 플러그인? 버그가있는 것처럼 NullPointerException으로 떨어지는 orz. (귀찮았기 때문에 시도하지 않지만 sonar-maven-plugin 버전을 오래된 버전으로 만들면 작동 할 수 있습니까?)
sonar5.1에서 해결되었다는 보고서를 찾았으므로 Dockerfile을 자작하여 sonar5.1로 업데이트. 일단 잘 움직이게 되었으므로, 그 순서를 추기합니다.
sonar5의 컨테이너 삭제
컨테이너를 중지한 다음 삭제합니다.
$ docker stop sonar5
$ docker rm sonar5
sonar5.1의 Docker 시작
자작 Dockerfile은, DockerHub에 커밋 해 두었으므로, 아마 이하의 커멘드로 마음대로 pull 해 와, sonar5.1을 사용할 수 있게 된다고 생각합니다.
여러 가지가 정말 편리한 세상이다. .
$ docker run -i -t -d --name sonar5.1 -p 9090:9000 --link smysql:db todoken/sonar5.1
이제 OK.
덧붙여서, 낡은 버젼으로 run 시켜 버렸을 경우, 이하의 URL에 액세스 하면 자동적으로 DB를 업데이트해 줍니다.
http://192.168.59.103:9090/setup
일단 백업이라든지 취하는 편이 좋다고 생각합니다. 자세한 내용은 아래를 참조하십시오.
htp // // cs. 소나 쿠베. 오 rg / ぢ sp y / 소나 R / 세츠 p + 안 d + 우 pg 등
Reference
이 문제에 관하여(자신의 Mac에서 Docker에 Sonar 환경 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/todoken/items/b1342c7c2c960d2c13fe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)