bookmark_borderJenkins 와 Sonarqube Windows 환경에서 Jenkins 와 Sonarqube

필요사항
  • java jre or jdk 설치
환경
  • 기본 설치 위치는 %program files%/jenkins ( x64의 경우 %program files(86)%/jenkins )
  • Window Service 로 별도 Process 로 동작 ( service name : jenkins )
  • 기본 port는 8080 ( 설치 과정 중 포트 설정 없음 )
  • 자체 파일 DB 사용
설정
  • 기본 사용 port는 8080 수정시 [jenkins]/jenkins.xml 에서 –httpPort=8080을 변경
  • IE 에서 trust site 등록 ( plug-in 업그레이드 필요 )

Jenkins for DotNet

  • Dotnet 지원 내용
    • Jenkins MSBuild Plugin
    • CCM Plugin
    • MSTest Plugin
    • MSTestRunner Plugin
    • NAnt Plugin
    • NCover Plugin
    • PowerShell Plugin
    • Violations
    • Visual Studio Code Metrics Plugin
    • VsTestRunner Plugin
    • FxCop Runner Plugin
  • Windows SDK 설치 ( windows SDK for Windows7 )
  • Jenkins 설정
    1. MsBuild Plugin 설치
      1. Jenkins 관리 -> 플러그인 관리 -> 설치가능 Tab 에서 MSBuild plug in설치
      2. Jenkins 관리 -> 시스템 설정 항목중 msbuild 에 msbuild 에서 공통적으로 적용 할 내용 설정
        • Name : MSBuild Framework64 .net 4.0
        • Path to MSBuild : C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe
        • Default parameters : /t:Clean;Rebuild /p:Configuration:release
        • 참조 MSBuild
    2. 프로젝트 생성
      1. 메뉴새로운 Job
        • Job Name : [Project Name]
        • CI 를 위한 Build a free-style software project 선택
      2. 소스코드 관리
        • Repository Url : [SVN URL]
        • 그 외 읽어 보면 직관적
      3. Build
        • Add Build Step -> Build a Visual Studio project or solution using MSBuild
        • MSBuild Version : [Jenkins 관리 에서 MSBuild 관련 셋팅한 내용 선택]
        • MSBuild Build File : [실제 solution 파일 위치 ex)./src/formular.baas.sln 이 내용중 . 은 Jenkins 의 기본 workspace
        • Command Line Arguments : [MSBuild 추가 Argument] 작성을 안하면 MSBuild Version 에서 설정한 내용

Build 실행

  1. Dashboard 에서 Job 선택 후 Build Now Click
  2. 진행상태 확인 Build History 에서 날짜 선택 콘솔 출력결과 [raw]

권한 설정

  • C:\Program files\Jenkins 라고 가정하고 여기가 ${JENKINS_HOME}이라고 하면 ${JENKINS_HOME}\config.xml 파일을 연다.
    • <useSecurity>true</useSecurity> 내용 중 true -> false
    • <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"/> 를 삭제

소나큐브 ( Guide version 4.0 )

Sonarqube Web

필요사항
  1. 기본 계정 ( admin // admin )
  2. Database ( mysql(mariadb) , oracle , mssql , postagedb )
  3. jre 최신버젼
환경
  1. 설치위치 ( 본 문서는 : C:\sonarqube-4.0\ 기준 )
  2. 설정파일
    • DB 설정 및 Web 설정 C:\sonarqube-4.0\conf\sonar.properties
    • Application 실행 프로그램 및 Window Service의 ConfigurationC:\sonarqube-4.0\conf\wrapper.conf
  3. Windows Service 로 구동시 유의 사항
    • wrapper.conf 파일의 내용중 wrapper.java.additional.3=-Djava.io.tmpdir=../../tmp/ 설정
    • ’../../tmp/’ 의 설정에 따른 위치에 폴더 생성

Sonarqube Runner

필요사항
  1. Sonarqube WEb
  2. Sonarqube 상세 설정 sonar-project.properties
  3. SVN 1.6 이상 (SCM 사용시)
추가 코드 검증
  1. FxCop ( Microsoft SDK 에 포함 )
  2. Stylecop
환경
  1. 설정위치 ( 본 문서는 : C:\sonar-runner-2.3\ 기준 )
  2. 설정파일
    • 각각 프로젝트 별로 Project solution 파일 위치에 sonar-project.properties 설정 파일
  3. Microsoft SDK
  4. 환경변수 PATH 에서 SVN 설치 위치 지정 ( SVN을 실행한다. )
참조

확장