AWS/Jenkins

[Jenkins] AWS를 이용한 Jenkins 기반 CI/CD 환경 구축(1)

Yoon 2022. 4. 9. 18:39

CI/CD?

한 서비스에 대해 자동화된 빌드와 테스트를 진행하여 작업을 검증하고 게시하는 것을 말한다.

 

CI(Continuous integration) - 여러 개발자의 작업물을 하나의 메인라인으로 하루에 몇 번씩 병합하는 작업 방식 (지속적 통합)

CD(Continuous Delivery) - 팀이 소프트웨어를 만들면 언제든지 안정적으로 출시될 수 있도록 하는 접근 방식


DevOPS?

CI/CD의 중요성을 설명하기에 앞서, DevOPS에 대해 설명하려고한다.

 

DevOPS는 하나의 서비스를 고객에게 제공하기 위해 개발/운영/QA 작업들이

서로 협업하여 장애없이 서비스를 빠르게 릴리즈 하는 방법을 말한다.

DevOPS

서비스가 고객에게 제공되는 과정은 위 사진과 같다.

개발자가 코드를 작성하고, 이를 빌드하고 테스트하고 문제가 없으면 배포하여 서비스를 제공하는 식인데.

 

CI/CD환경이 이런 빌드, 테스트, 배포 프로세스를 자동화하여

부서 간의 발생하는 비용을 줄이고 생산성을 높일 수 있는 역할을한다.


Jenkins?

위에서 설명한 CI/CD 환경을 구축하기 위한 툴이 Jenkins이다.

즉, Jenkins를 이용하여 배포, 빌드 등 다양한 작업을 자동화할 수 있다.

 

Jenkins 특징

- 웹 기반 서비스

- 수많은 플러그인 사용하여 자동화 작업의 확장성을 높일 수 있음.

- 오픈 소스 소프트웨어이며 문서화가 잘되어 있고 다양한 적용 사례가 있음.

- 플러그인을 직접 개발하여 기능 확장 가능

- 소스 버전 관리 툴(GIT)과 연동하여 코드 변경 감지 시 자동화 빌드 환경 구현 가능

 

이처럼 Jenkins를 이용하여 번거로운 반복같은 작업들을 자동화하여 서비스 개발 프로세스를 개선할 수 있다.

 

다음 포스팅부터 AWS 클라우드 서비스를 이용해 Jenkins 환경을 구축하는 글을 포스팅할 예정이다.

 

 

'AWS > Jenkins' 카테고리의 다른 글

[Jenkins] AWS를 이용한 Jenkins 기반 CI/CD 환경 구축(2)  (0) 2022.05.02