JENKINS 설치, 기본 설정 – CentOS

[설치환경]
– OS : CentOS 7.9
– 호스팅 : cafe24, 가상 호스팅
– jenkins 2.319.2-1.1
[download]
– https://jenkins.io/download/

[설치]
To use this repository, run the following command:

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

Install Jenkins

sudo yum install jenkins

[port 변경 및 방화벽 해제]
– 기본 8080 port로 설정된 것을 변경.
> sudo vi /etc/sysconfig/jenkins
>> /*HTTP_PORT=8080*/ HTTP_PORT=18080

[jenkins 시작]

sudo systemctl start jenkins

[jenkins version update]
1. jenkins service 중단.

sudo service jenkins stop

2. jenkins update

sudo yum update jenkins -y

3. jenkins 시작

sudo service jenkins start

** jenkins 실행 실패시
> java version이 맞지 않아서 발생.( 2023.06.16 : jenkins 정책에 의해 jdk 버전을 11로 변경했음 ). openJDK 11 설치 -> update-alternatives –config java로 java 버전 선택 -> 젠킨스 실행( systemctl start jenkins ). -> 프로젝트 jdk버전과 맞지 않아 jenkins에서 프로젝트 빌드 실패시 update-alternatives –config java를 통해 프로젝트 java버전에 맞게 변경하면 됨.

[참조]
– https://pkg.jenkins.io/redhat-stable/

jenkins plug-in jacoco 설치후 test coverage 측정 수행하지 않을 경우.

Jenkins에 Plug-in 형식으로 jacoco 를 설치하였을 경우, Test Coverage 측정 수행을 하지 못하여 Coverage Ratio가 0%인 경우가 발생 할 경우

jacoco.exec를 생성하지 못하여 test coverage 측정이 되지 않을 경우가 있다.

jacoco 수행 결과

 

jenkins build console log

 

jacoco.exec download error

 

<해결 방안>

※ jacoco.exec file을 생성하지 못하여 발생한 경우로, jacoco.exec file을 생성할 수 있게 조치해 준다.

 

pom.xml의 build부분에 다음 script를 추가한다.

<build>
  …
  <plugins>
    …
    <plugin>
      <groupId>org.jacoco</groupId>
      <artifactId>jacoco-maven-plugin</artifactId>
      <version>0.7.9</version>
      <executions>
        <!-- prepare agent for measuring unit tests -->
        <execution>
          <id>prepare-unit-tests</id>
          <goals>
            <goal>prepare-agent</goal>
          </goals>
          <configuration>
            <destFile>${sonar.jacoco.reportPath}</destFile>
          </configuration>
        </execution>
      </executions>
    </plugin>
    …
  </plugins>
  ….
</build>

정상 측정 결과

정상 측정