설정

젠킨스 설치

젠킨스 플러그인 설치

  • 젠킨스 default 포트는 8080
  • Credentials Plugin
  • Git plugin
  • Pipeline*

Global Tool Configuration 설정

JDK 세팅

Maven 세팅

git 세팅

Configure Credentials

git Credential 추가

파이프라인 생성

Github 연동

Github 계정 Token 생성

Github plugin 설정

프로젝트 설정

테스트

  • JUnit Plugin 필요
  • Publish JUnit test result report Build Step 실행

정적 검사

배포

  • 생략

Groovy pipeline script

node {
  // JDK 8 사용하도록 설정하기
  stage 'Setting'
  def javaHome = tool name: 'jdk8', type: 'hudson.model.JDK'
  env.JAVA_HOME = "${javaHome}"
  env.PATH = "${env.PATH}:${env.JAVA_HOME}/bin"

  // github에서 소스 얻어오기
  stage 'Checkout'
  git branch: 'development', credentialsId: '{your credential id}', url: '{your git url}'

  // Maven으로 빌드 실행하기
  stage 'Build'
  def mvnHome = tool 'M3'
  sh "${mvnHome}/bin/mvn -P local -Dmaven.test.skip=true -Ddeploy-path=./deploy clean install"

  // 테스트 진행하기
  stage 'Test'
  sh "${mvnHome}/bin/mvn -P local -B -Dmaven.test.failure.ignore verify"
  step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml'])

  // 정적 검사 수행
  stage 'Analysis'
  sh "${mvnHome}/bin/mvn site"
  step([$class: 'CheckStylePublisher', canComputeNew: false, defaultEncoding: '', healthy: '', pattern: '**/checkstyle-result.xml', unHealthy: ''])
  step([$class: 'FindBugsPublisher', canComputeNew: false, defaultEncoding: '', excludePattern: '', healthy: '', includePattern: '', pattern: '**/findbugsXml.xml', unHealthy: ''])
  step([$class: 'PmdPublisher', canComputeNew: false, defaultEncoding: '', healthy: '', pattern: '**/pmd.xml', unHealthy: ''])

  // 패키지 저장
  step([$class: 'ArtifactArchiver', artifacts: '**/target/*.jar', fingerprint: true])
}

이슈

git 접속 실패

  • git 버전 1.7.13 이상부터 --local 옵션을 지원하기 때문에 발생하는 문제
  • CentOS 기본 repository에서 2016.5.30 현재 기준으로 1.7.1이 설치된다
  • https://git-scm.com/book/en/v2/Getting-Started-Installing-Git 참고해서 최신으로 설치해야함
    • 이미 구버전 git이 깔려있는 상황에서는 이렇게 하면 됨
    • sudo yum install epel-release
    • sudo yum install curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel
    • git clone https://git.kernel.org/pub/scm/git/git.git
    • 생성된 클론 디렉토리로 이동해서 make configure
    • ./configure --prefix=/usr
    • sudo make install
    • git --version 1.7.13 이상인지 확인

Github Push 연동 실패

URL 문제

토큰 변경, 잡 변경 등으로 인한 문제

다시 GitHub 설정으로 가서 고급... 버튼을 누르면 추가로 나타나는 옵션 중 위 사진의 버튼을 눌러서 다시 Hook을 등록 시도 해보면 됨.

results matching ""

    No results matching ""