젠킨스는 소프트웨어 개발 시 지속적인 통합 서비스를 제공하는 툴이다. CI( Continuous Integration ) 툴이라고도 부른다.

다수의 개발자들이 하나의 소프트웨어를 개발할 때 각자 작업한 내용을 Git과 같은 버전관리시스템에 업로드함으로 지속적인 통합이 가능하게 해준다.

 

젠킨스와 같은 CI 툴이 등장하기 전에는 일정시간마다 빌드를 실행하는 방식이 일반적이었다.

보통 개발자들이 당일 작성한 코드들의 커밋이 끝난 심야 시간대에 타이머에 의해 빌드를 하는 식이었다. ( nightly-build )

 

젠킨스는 SVN, Git과 같은 버전관리시스템과 연동되어 코드의 커밋을 감지하여 자동적으로 자동화 테스트 + 빌드를 진행한다.

여기서 빌드를 진행하기 위해 프로젝트에서 사용하는 Gradle과 같은 빌드 툴과의 연동도 필요하다.

 

젠킨스 UI

젠킨스 웹 인터페이스 화면은 다음과 같다.

Jenkins 웹 인터페이스 화면

 

젠킨스에서 빌드 | 배포 | 서버에서 구동 중인 애플리케이션 재시작 등의 작업을 할 수 있는 인터페이스 화면

Jenkins의 Build With Parameters 화면

 

위의 화면을 보면 알겠지만, 젠킨스로 인해 변경된 코드를 테스트하고 빌드한걸 서버에 배포한 후, 현재 구동 중인 애플리케이션을 재시작하는 일련의 작업들이 아주 손쉽게 해결된다.

 

 

참고자료

[1] https://ict-nroo.tistory.com/32?category=754815

 

 

 

'DevOps' 카테고리의 다른 글

[DevOps] DevOps란?  (0) 2020.07.03
[DevOps/Infra] Docker에 MySQL 띄우기  (0) 2020.06.24
[DevOps/CI/CD] 깃랩(GitLab)의 CI/CD  (0) 2020.04.07
[DevOps/Infra] AWS CloudFormation  (0) 2020.03.18