본문 바로가기
반응형

CI,CD4

젠킨스 아키텍처(Jenkins Architecture) 일반적으로 파이프라인은 매우 복잡해서 보통 소스코드를 컴파일 하고 파일을 다운로드 받고, 테스트를 실행하는데에는 상당한 시간이 소요된다. 빌드 한 번 하는데에 최소 몇분에서 몇시간까지 걸릴 수도 있다. 젠킨스에서 커밋을 자주 하는 팀은 과부하 상황이 발생해서 젠킨스 인스턴스가 죽기도 한다. 이런 이유 때문에 소규모가 아닌 프로젝트의 경우에는 빌드 작업을 에이전트 인스턴스에 위임해 실행하는 방식을 사용한다. 정리하면, 현재 젠킨스를 실행하고 있는 젠킨스 마스터가 있고, 실제 작업은 젠킨스 에이전트(슬레이브)에 위임해 실행하는 것이다.분산 빌드 환경에서 젠킨스 마스터는 다음과 같은 작업을 수행한다. - 깃허브에 커밋이 발생한 직후 빌드 시작 명령을 받는다 - 빌드 실패시 알림을 보낸다 - 클라이언트와 통신.. 2025. 4. 18.
젠킨스(Jenkins) CD 프로세스를 위해서 자동화 서버가 꼭 필요하다. 그러기위해서 젠킨스가 필요하다. 젠킨스는 단독으로 사용할 수도 있고, 도커와 같이 사용될 수도 있다.  젠킨스 : 자바로 작성된 오픈 소스 자동화 서버이다. 젠킨스는 단순성, 유영성, 다양성 측면에서 유명하고 다른 솔루션에 비해 뛰어난 기능과 확작성 덕분에 가장 널리 사용되고 있다. 그 이유는 아래와 같은 다양한 장점 때문이다. 젠킨스는 많은 플러그인을 가지고 있으며, 대부분의 프로그래밍 언어와 프레임워크를 지원한다. 게다가 거의 모든 종류의 셸 명령어와 소프트웨어를 사용할 수 있기 때문에 특정 프로그래밍 언어에 대한 지식 없이도 자동화 프로세스를 구축할 수 있다. 젠킨스는 커뮤니티와 플러그인을 이용하기 좋다. 사용자가 직접 필요한 플러그인을 작성해 기.. 2025. 3. 21.
도커(Docker) 도커는 소프트웨어 컨테이너의 형태로 애플리케이션을 배포할 수 있는 오픈 소스 프로젝트다. 도커를 이용하면 애플리케이션과 실행환경(파일, 코드 라이브러리 등)을 통합해서 실행할 수 있다. 즉, 도커를 이용하면 가상화처럼 애플리케이션을 어디서든 실행 가능한 이미지로 패키징 할 수 있다. 컨테이너화 VS 가상화도커를 사용하지 않고도 가상머신이라 부르는 하드웨어 가상화로 프로세스를 격리하는 작업을 할 수 있다. 대표적으로 버추얼박스나 VM웨어, 패러렐즈 등이 있다. 가상 머신은 컴퓨터의 아키텍처를 모방하는 방식으로 실제 컴퓨터와 같은 기능을 제공한다. 애플리케이션을 독립된 가상머신 이미지에 배치함으로써 완벽하게 격리된 환경에서 실행할 수 있다. 이미지에는 필요한 모든 의존성 요소와 게스트OS(운영체제)가 들어있.. 2025. 2. 18.
CI/CD_지속적 인도와 지속적 통합 개념 보통 도커와 젠킨스를 이용해서 CI/CD를 적용해 개발 방식이 진행되고 있다는 사실을 알고는 있었지만, 개발을 직접적으로 하지는 않다보니 이에 대한 지식이 부족함을 느꼈다. 그리고 궁극적인 목표는  테스트 자동화를 CI/CD를 이용해 워크 플로우를 향상시키고자 한다. 따라서, 올해는 도커와 젠킨스 사용방법에 대한 포스팅을 올릴 예정이다.그 전에 먼저, CI/CD에 대한 개념 정리와 그에 관한 용어들을 먼저 정리해보았다.  CD : 새로운 기능 추가나 구성의 변경, 버그 수정이나 기능 실험을 포함한 모든 유형의 변화를 통제하면서 사용자에게 빠르고 안전하고 안정적으로 제공하는 역량 전통적인 인도 프로세스는 고객의 요청을 정의하면서 시작되고 개발이 기능을 구현하고 품질보증에서 테스트를 통해 버그가 수정되고 운.. 2025. 1. 22.
반응형