본문 바로가기
IT 관련기술

[Jenkins] 젠킨스(Jenkins) - Continuous Integration Tools

by bits 2022. 1. 27.

젠킨스(Jenkins)를 이용한 지속적 통합(CI)

지속적 통합(Continuous Integration) 이란

  : 애플리케이션을 지속적으로 컴파일하고 단위 테스트를 해서 소프트웨어의 품질을 향상 시킬 수 있는 환경을 마련하는 것.

Jenkins 란

젠킨스 (Jenkins)는 지속 빌드 및 배포 공개 소프트웨어 시스템이다. 소프트웨어 프로젝트를 지속적으로 빌드 및 테스트 하도록 해주는 자동화 도구이며, 배포에 필요한 프로세스를 통합하여 제공한다.

  • CI 도구(Continuous Integration Tools)의 일종
  • 자바 기반의 무료 오픈소스 자동화 빌드 도구
  • 빌드, 배포 자동화를 지원하는 다양한 플러그인을 제공
  • subversion, git 등의 형상관리도구와 Maven, Gradle 등 빌드 툴을 지원

 

1. Jenkins 설치하기

 

공식 다운로드 사이트 : https://www.jenkins.io/

 

Jenkins

Hacktoberfest 2021 made great contributions to the Jenkins project. We thank all the Hacktoberfest contributors and the maintainers who reviewed the submitted pull requests. We received contributions in artwork, translation, documentation, security, and ge

www.jenkins.io

 

Jenkins 다운로드

https://jenkins.io/download/ 에서 Long-term Support(LTS) 버전을 다운로드 한다.

WAS에 설치 할 수 있도록 Generic Java package (.war) 파일을 다운로드한다.

 

jenkins.war 파일을 tomcat 설치 폴더의 webapps 폴더로 복사한 후 톰캣을 시작한다.

 

 

Jenkins 접속 및 관리자 계정 해제

http://localhost:8080/jenkins 경로로 접속한다.

관리자 계정 해제를 위해 사용자홈/.jenkins/secrets/initialAdminPassword 파일에 있는 password를 복사 붙여넣는다.

 

Jenkins plugin 설치

기본으로 제공하는 plugin을 설치 후 톰캣 연동을 위해서 이후에 Deploy to container Plugin을 추가로 설치하면 된다.

 

 

사용자 계정 추가

First admin 계정으로 사용하길 원하면 Continue as admin 버튼을 클릭하고, 계정을 추가 하려면 Save and Continue 버튼을 클릭한다.

 

 

Jenkins 접속 URL 설정

 

Jenkins 설정 완료

Jenkins 홈 화면

 

tomcat 설정

젠킨스의 배포를 담당하는 tomcat을 사용하기 위해 tomcat manager를 접근 할 수 있도록 tomcat-users.xml을 수정한다.

tomcat-users.xml을 열고 아래 문구를 추가 하여 admin에게 권한을 부여 한다. 

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="admin" password="admin" 
    roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/>

 

Jenkins 관리

Global Tool Configuration 을 통해 기본 환경 설정을 한다.

 

Maven, JDK, Git, SVN, Gradle, Ant 등의 정보를 설정한다.

 

Jenkins 플러그인 관리

Jenkins 기능 확장을 위한 플러그인을 관리한다.

plugin 중 tomcat에 배포하기 위해 Deploy to container Plugin 을 설치한다.

 

 

 

2. 신규 Item 생성

Jenkins에서 빌드 및 배포 관리할 Item(예: 애플리케이션)을 추가 하기 위해 Jenkins 홈 화면에서 '새로운 Item'을 클릭 후 정보를 입력한다.

 

소스 코드 관리

소스 코드 관리 항목에서 형상관리도구인 Git 또는 SVN에 대한 정보를 입력한다.

 

Build -> Invoke top-level Maven targets 선택, Maven Goals 을 clean, install 입력.

 

빌드 후 조치

빌드 완료 후 수행할 일을 지정할 수 있다. 여기서는 빌드 완료 후 tomcat에 배포하도록 설정한다.

jenkins plugin 중 Deploy to Container 가 설치 되어있어야 Deploy war/ear to a container 메뉴가 활성화 됨.

 

빌드 유발

빌드를 수행하는 방법을 설정하며, 여기서는 주기적인 빌드를 위해 Schedule을 등록한다.

 

빌드 완료 후 tomcat에 배포된 어플리케이션 확인

Jenkins에 의해 성공적으로 빌드가 되면 tomcat 배포 폴더에  .war 파일이 배포된 것을 확인할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

'IT 관련기술' 카테고리의 다른 글

[Git] Git 사용법  (1) 2022.01.27
[Java] Lombok 사용법  (0) 2022.01.26
[형상관리도구] Git 설치하기  (0) 2022.01.26
[Linux] 리눅스 우분투(Ubuntu) Elcipse 설치  (0) 2022.01.25
[H2DB] H2 Database 설치 및 사용법  (3) 2022.01.20

댓글