jenkins
-
[Infra] 무중단 배포 전략 (Rolling / Blue-Green / Canary)프로젝트/뉴스타 2024. 7. 21. 15:45
무중단 배포 전략 (Rolling / Blue-Green / Canary) 왜 궁금했을까❓뉴스타 서비스 CI/CD 과정에서 서비스가 중단되는 문제점으로 인해 사용자가 일정 시간동안 서비스를 이용하지 못하는 문제점이 있었다. 이러한 것을 해결하고자 무중단 배포 전략을 도입하여 사용자들에게 무중단 서비스를 제공하고자 한다. 무중단 배포 전략을 알아보고 뉴스타 서비스에 알맞은 배포 전략을 도입해보겠다.1. 무중단 배포란?사용자에게 서비스 중단 없이 새로운 버전의 서비스를 배포하는 방법1.1. 일반적인 배포 과정서비스를 운영하면서 새로운 버전을 배포하기 위해서는 기존 서비스를 종료이후, 새로운 서비스를 시작하여 사용자에게 새로운 버전의 서비스 제공1번과 2번 사이에 사용자들이 서비스를 이용하지 못하는 시간이 생..
-
[CI/CD] Docker를 이용해서 Jenkins를 사용해야 할까?프로젝트/아카이뷰 2024. 2. 1. 10:24
Jenkins in Docker 왜 궁금했을까❓SSAFY 2학기 프로젝트 Archiview를 Docker에 Jenkins를 올리는 형태로 CI/CD를 구축하고 있었는데 Jenkins안에서 docker 명령어를 써야하는 상황이 발생했다. jenkins에는 docker가 설치되어 있지 않아 방법을 알아보고 해결해보고자 한다. 우선, jenkins를 이용하는 방식을 두 가지로 나뉜다. ① OS에 설치하는 방식Ubuntu, CentOs 등 리눅스 서버 자체에 jenkins를 설치하는 방식이다.jenkins를 직접 설정할 수 있다는 부분이 가장 큰 장점인 거 같다.단점으로는 매번 플러그인, 설정 등을 직접 셋팅을 해줘야 한다는 점이다. ② 도커를 통해서 설치하는 방식리눅스 서버에서 Docker를 이용하여 Jen..
-
[CI/CD] Jenkins / GitLab / Docker / EC2 연동 (2/2)프로젝트/아카이뷰 2024. 1. 31. 21:15
이번 포스팅에서는 Jenkins 세부 설정과 GitLab과의 연동, 배포까지 진행해보도록 하겠다. 1. GitLab 연동Jenkins 관리에서 System을 누르고 GitLab 설정쪽으로 가서 해당 필드를 채워준다. 2. Credential 등록GitLab과의 연동을 위해 GitLab에서 AccessToken을 발급하고 등록해준다.Kind를 GitLab API token으로 변경 후, API Token 부분에 Access Token을 삽입ID는 GitLab의 아이디를 적어주고 Add를 클릭다시 돌아가서 credential을 선택 3. Pipeline 작성new item을 누르고 pipeline을 선택push에 대해서만 build를 유발시킬 것이기 때문에 build Triggers에서 위의 그림과 같이 설..
-
[CI/CD] Jenkins / GitLab / Docker / EC2 연동 (1/2)프로젝트/아카이뷰 2024. 1. 30. 21:02
SSAFY 2학기 프로젝트 "Archiview"를 Jenkins, GitLab, Docker, EC2를 이용해서 CI/CD를 구축해보겠다. [CI/CD] Jenkins란?Jenkins 왜 궁금했을까 ❓SSAFY 2학기 공통 프로젝트를 진행하면서 완성한 기능들을 매번 수동 빌드하여 배포하는 과정이 너무 번거롭게 느껴졌다. EC2 서버에서 소스 코드를 pull 받고 build하고 배포pslog.co.kr [Docker] Docker란?Docker 왜 궁금했을까 ❓SSAFY 2학기 공통 프로젝트를 수행할 때, CI/CD를 구성하기 위해서는 Docker, Docker compose를 사용해야만 하는 것을 확인했다. 그래서 업무 생산성을 향상시키기 위해 CI/CD 환경 구pslog.co.kr위 포스팅들을 통해 ..
-
[CI/CD] Jenkins란?프로젝트/아카이뷰 2024. 1. 27. 11:46
Jenkins 왜 궁금했을까 ❓SSAFY 2학기 공통 프로젝트를 진행하면서 완성한 기능들을 매번 수동 빌드하여 배포하는 과정이 너무 번거롭게 느껴졌다. EC2 서버에서 소스 코드를 pull 받고 build하고 배포하고 이러한 일련의 과정이 시간적인 측면에서 너무 아깝다고 생각되었고 업무 생산성을 향상시키기 위해 CI/CD가 필수적이라고 생각했다. CI/CD의 많은 도구 중에 왜 Jenkins를 선택했을까 ❓아래 3가지 키워드를 바탕으로 Jenkins를 선택하게 되었다.취업, 확장성, 무료1. 대부분의 채용 공고를 살펴보면 Jenkins 사용 경험을 요구하고 있다는 것을 확인했다. 추후, 기업에 들어가서 구성되어 있는 시스템을 파악하거나 기업의 성장에 조금이나마 기여하기 위해서는 Jenkins를 선택하는..