FIF's 코딩팩토리

CICD/젠킨스 정리 본문

기타

CICD/젠킨스 정리

FIF 2019. 6. 17. 16:57
반응형

CI/CD (Continuous Intergration:지속적인 통합)/(Continuous Delivery:지속적인 서비스 제공 or Deployment:지속적인 배포)

CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법.

기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포이다.

CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에서 발생하는 문제(일명 통합지옥(Intergration hell)를 해결하기 위한 솔루션이다.

특히 애필르케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 애플리케이션의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공한다.

이러한 구축 사례는 “CI/CD 파이프라인”이라 부르며 개발 및 운영팀의 애자일 방식 협력을 통해 지원.

CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 리포지토리에 병합되므로 여려명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충동할 수 있는 문제를 해결 할 수 있다.

 

젠킨스란?

소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 툴이다.

다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유영역에 있는 저장소에 빈번히 업로드 함으로써 지속적 통합이 가능하도록 해준다.

 

 

잰킨스 설치후 포트를 변경해줘야 하는이유와 방법

톰캣을 많이쓰는데, 잰킨스와 톰캣의 기본 포트가 8080으로 겹치기 때문에 바꿔줘야 함.

C:\Program Files (x86)\Jenkins 에서 jenkins.xml 에서 httpPort=8090

이부분이 원래 8080인데 내가 쓰고자하는 포트로 바꿔주자.

그런데? 액세스할 권한 없다고 뜨는데,

이때 jenkins.xml -> 우클릭 -> 속성-> 보안 -> 편집 -> USERS의 모든 권한을 ‘허용’으로 해주자.

 

 

잰킨스서비스 재시작.

 

 

 

 

 

Jenkins - Cron표현식을 이용한 Schedule 자동 빌드

Jenkins접속해서 자동 Schedule빌드할 프로젝트 – 속성 – 빌드유발

Schedule란에 Cron표현식을 쓰면 된다.

 

 

예제)

매분 빌드

: * * * * *

특정 시간 실행(매주 금요일 오전 5시 45분에 빌드)

: 45 5 * * 5

반복 실행(매일 매시간 0분, 20분, 40분에 빌드)

: 0,20,40 * * * *

범위 실행(매일 1시 0분부터 30분까지 매분 빌드)

: 0-30 1 * * *

간격 실행(매 10분마다 빌드)

: */10 * * * *

조금 복잡하게 실행(5일에서 6일까지 2시, 3시,4시에 매 10분마다 빌드)

: */10 2,3,4 5-6 * *

 

반응형
Comments