[Jenkins] Jenkins로 CI/CD 구축 해보기 - (5)
2024. 6. 5. 17:00
Infra/CI-CD
Introduction저번 포스트에서 CD 부분까지를 마치고 테스트를 진행했다. 이번에는 지금까지 우리가 구성한 CI/CD의 전체적인 구조를 한 번 보고, github push와 같은 특정 명령어를 실행했을 때 자동으로 빌드를 할 수 있게끔 자동화하는 것을 볼 것이다. 구조 확인하기지금까지 우리가 구축한 그림이다. 플로우를 보면 다음과 같다.사용자 PC(우리)에서 Jenkins instance에 접속하여 Jenkins에게 빌드해라는 지시를 내린다. Jenkins는 해당 Job에 정의된 Jenkins Pipeline 스크립트를 따라가며 먼저 github repository에서 소스 코드를 가져오는 것 부터 시작한다.github에서 코드를 가져온다. 그러면 적절한 처리를 수행한 후 maven 또는 grad..
[Jenkins] Jenkins로 CI/CD 구축 해보기 - (4)
2024. 6. 5. 14:02
Infra/CI-CD
Introduction이전 글에서는 Jenkins로 배포를 제외한 부분을 완성하였다. 즉 CI/CD에서 CI까지 완성했다고 볼 수 있다.이번 글에서는 CD 부분을 구현할 것이다.CD의 과정먼저 이전에 보았던 Jenkins Pipeline 스크립트를 보도록 하자.pipeline { agent any tools { maven "M3" // Jenkins에서 설정한 Maven의 이름 } stages { //... stage('Deploy') { steps { script { // 원격 서버에서 애플리케이션 실행 sshagent(['depl..
[Jenkins] Jenkins로 CI/CD 구축해보기 - (3)
2024. 6. 4. 22:43
Infra/CI-CD
Introduction저번 게시글에서 Jenkins의 초기 세팅과 플러그인 설치까지 진행했다.이번 게시글에서는 Jenkins Pipeline을 작성하고 우리가 Pipeline을 실행시키는데 필요한 여러 데이터들을 넣어 볼 것이다.주의!필자의 현재 진행 환경이 AWS에서 Vultr로 변경되었음을 알려 드립니다. 다만 진행하는 모든 과정을 AWS에서 이미 한 번 해보았고 해당 과정을 완벽하게 그대로 진행했음을 알려 드립니다.글을 작성하는 지금 실행 환경은 다음과 같습니다.Ubuntu LTS 24.04 Jenkins Pipeline 작성하기다시 메인메뉴로 돌아온다. 우측에 초록 원에 있는 Create a job을 클릭한다.Jenkins는 여러 아이템들을 추가해 놓을 수 있는데 우리는 여기에서 Pipeline을..
[Jenkins] Jenkins로 CI/CD 구축해보기 - (2)
2024. 6. 3. 11:15
Infra/CI-CD
1. Introduction저번 과정에서 Jenkins를 띄울 EC2 인스턴스 서버를 만드는 것 까지 수행했었다. 이번 파트에서는 Jenkins를 EC2 인스턴스에 설치하고 설정을 진행하는 부분을 진행해 볼 것이다.주의!필자의 현재 진행 환경이 AWS에서 Vultr로 변경되었음을 알려 드립니다. 다만 진행하는 모든 과정을 AWS에서 이미 한 번 해보았고 해당 과정을 완벽하게 그대로 진행했음을 알려 드립니다.글을 작성하는 지금 실행 환경은 다음과 같습니다.Ubuntu LTS 24.04 2. Swap Memory 설정우리는 Jenkins를 EC2에 다이렉트로 설치하지 않고 Docker를 사용하여 설치할 것이다. 하지만 Docker나 Jenkins 모두 메모리가 충분하지 않으면 제대로 동작하지 않는 경우가 많..
[Jenkins] Jenkins로 CI/CD 구축해보기 - (1)
2024. 6. 3. 01:48
Infra/CI-CD
1. Introduction이번 주를 지나면서 CI/CD 툴로 많이 사용할 수 있는 Jenkins를 사용해 실제 CI/CD 파이프라인을 구축하는 것을 블로그로 남기려고 한다.실제로 수행했던 시간은 6/1, 6/2 2일 정도로 몇몇 문제에 대해서는 결국 해결하지 못해 플랫폼을 변경하여 구축을 완료하였다.전체적인 과정과 더불어 왜 이렇게 하는가에 대해서도 공부하면서 적어보려고 한다. 2. CI/CDCI/CD라는 용어는 매우 많이 들어왔던 용어이고 놓쳐서는 안되는 용어와 개념이라고 생각한다.먼저 CI는 Continuous Integration의 약어로 한국어로는 지속적 통합이라고 한다.이때 지속적 통합의 대상은 기본적으로(또한 일반적으로) 프로덕션 코드이다.하나의 프로젝트에서 개인이 모든 부분에 대해 개발을 ..