젠킨스를 활용하여 CI(continuous integration)을 수행해 보겠다. 그 전에 젠킨스를 설치하고 젠킨스를 이해해 보자.
소프트웨어 공학에서, 지속적 통합(continuous integration, CI)은 지속적으로 품질 관리(Quality Control)를 적용하는 프로세스를 실행하는 것이다. - 작은 단위의 작업, 빈번한 적용. 지속적인 통합은 모든 개발을 완료한 뒤에 품질 관리를 적용하는 고전적인 방법을 대체하는 방법으로서 소프트웨어의 질적 향상과 소프트웨어를 배포하는데 걸리는 시간을 줄이는데 초점이 맞추어져 있다. 대표적인 CI 툴에는 젠킨스(Jenkins)가 있다.
이점
매번 파일질라를 사용하여 war을 ec2로 옮기고 ec2에서 서버를 재가동 하고 배포시 잘못된 것이 없나 매번 확인해 줘야 했는데 젠킨스를 통해 이런 과정을 자동화 해보자
젠킨스는 지속적 통합 서비스 제공 툴로써 빌딩, 테스팅, 딜리버링, 소프트웨어 배포등을 자동화하는 오픈소스 툴이다.
젠킨스의 장점으론 설치가 쉽다는 장점이 있다. 얼마나 쉬운지 한번 설치해 보자
1. 저장소에서 개발자가 코드를 불러온뒤 요구사항에 맞춰 코드를 변경하낟.
2. 젠킨스 마스터는 지정한 시간데에 저장소를 체크한다.
3. 젠킨스가 새코드나 변경된 코드가 있는 실행가능한 파일을 즉시 컴파일한다.
4. 컴퍼일후 서버가 에러를 확인할 경우, 개발자에게 메세지를 보낸다. 만약 에러가 없다면 배포를 실시한다.
=> 파일 크기가 너무 크다면 젠킨스 서버 하나론 부족하다. 젠킨스는 master-slave서버로 운용될 수 있다.
생각해보니깐 젠킨스는 내 개발 컴퓨터에 설치하는 것이 아니다. 다음 시리즈에서 설치가 될 것 같다.
참고: 젠킨스 공식 문서
https://www.lambdatest.com/blog/what-is-jenkins/
https://www.tutorialandexample.com/jenkins-architecture/