본문 바로가기
728x90

[DevOps]/CI & CD5

로컬에서 젠킨스로 블루/그린 무중단 배포 테스트하기 (3) - 젠킨스 파일 작성, 배포 테스트 진행 💡 이 글은 3편으로 2편인https://suzuworld.tistory.com/418에 이어 쓰는 글이다. 💡 1편부터 보려면 이곳으로 https://suzuworld.tistory.com/419 📌 JenkinsFile 작성 준비 이제 젠킨스에 로그인해 보자. 기존에 깃허브 아이디에 대한 Credential 등록은 이미 했다고 가정한다. 잘 모르겠다면, 여기를 보고 따라 하면 된다. 매우 자세히 적어 놓았다. 새로운 Item을 클릭한다. Item은 Jenkins에서 관리되는 모든 항목을 의미한다. 일반적으로 프로젝트, 작업, 빌드, 파이프라인, 뷰 등이 있다. 여기서 Pipeline을 선택하고 item의 이름을 기입한다. 나는 jenkinTest라고 지었다. 이는 jenkinsFile을 작성할 때 .. 2023. 11. 27.
로컬에서 젠킨스로 블루/그린 무중단 배포 테스트하기 (2) - 쉘 스크립트 배포 파일 작성 💡 이 글은 2편으로 1편인https://suzuworld.tistory.com/419에 이어 쓰는 글이다. 🤗 쉘 스크립트 작성 준비 이제 할 일은 먼저 쉘스크립트로 배포 파일을 만드는 것이다. 스프링 부트 프로젝트 상위 폴더에 script라는 디렉터리를 만든 다음에 deploy.sh라는 이름의 파일을 만들자. 🤔 들어가기 전에 본격적으로 들어가기 전에 위 그림을 한 번 더 보고 시작하면 스크립트 이해에 많은 도움이 될 것이다. 이번에 쉘 스크립트 파일을 처음 만져봐서 상당히 애먹었는데 대부분의 블로그가 각 명령어에 대해 자세히 설명하지 않아 시간이 더 걸렸던 것 같다. 나처럼 쉘 스크립트 작성이 처음인 사람을 위해 최대한 자세히 설명해 보겠다.(설명이 다소 장황하고 틀릴 수도 있음😅) 묶음 단위로 .. 2023. 11. 25.
로컬에서 젠킨스로 블루/그린 무중단 배포 테스트하기 (1) - 젠킨스 설치, 스프링 부트 서버 세팅 💡 이 글에서 테스트해 볼 내용은 nginx + jenkins + springboot + github를 사용하여 프로젝트 서버의 배포 자동화 및 무중단 배포를 로컬 환경에 구현하는 것이다. 📌 젠킨스 설치 로컬에서 젠킨스를 설치하는 방법은 간단하다. https://www.jenkins.io/ 위 링크에 접속하여 다운로드를 클릭한다. 그럼 젠킨스를 다운로드 할 수 있는 페이지가 나오는데 각 운영체제나 컨테이너 환경에서 맞는 걸 클릭하면 다운로드하는 방법이 나온다. MAC을 기준으로 설명하면 macOS를 클릭한다. 그럼 이렇게 Homebrew로 다운로드하는 방법이 나온다. brew install jenkins brew services start jenkins 처음 설치라면 위 두 명령어로 간단히 설치하고 실.. 2023. 11. 24.
로컬 환경에서 도커 젠킨스(Jenkins) 컨테이너로 깃허브 레파지토리 클론 테스트하기(with Ngrok) | 로컬 젠킨스 설명 포함 💡 들어가기 전에 도커의 jenkins 공식이미지는 Deprecated 되었다. 나의 경우 자바 11 버전을 사용하기 때문에 lts-jdk 11 버전을 사용했다. LTS(Long Term Support)는 장기 지원 버전이란 의미로, 일반적인 경우보다 장기간에 걸쳐 지원하도록 특별히 고안된 소프트웨어의 버전 또는 에디션이다. 📦 준비하기 wonyong@Wonyongui-MacBookAir:~$docker volume create jenkins jenkins 볼륨 사용을 위해 jenkins 볼륨을 생성했다. 이 글은 도커 젠킨스를 기준으로 설명하지만 컨테이너로 젠킨스를 실행하는 점을 제외하고는 로컬에서 설치하는 것과 크게 다르지 않다. 로컬에서 젠키스를 설치하고 싶다면, https://www.jenkins.. 2023. 11. 18.
젠킨스(jenkins)에 대해 알아보고 무중단 배포 계획을 세워보자 💡 사내 프로젝트에 젠킨스를 적용하여 기존의 고전적인 빌드 & 배포 방식에서 벗어나는 과정을 기록하려고 한다. 🤔 What is Jenkins? 젠킨스(Jenkins)는 지속적인 통합(Continuous Integration)과 지속적인 배포(Continuous Deployment)를 지원하는 오픈 소스 자동화 도구이다. 소프트웨어 개발 과정에서 개발자들이 작성한 코드를 자동으로 빌드, 테스트, 배포하는 프로세스를 구축할 수 있도록 도와준다. 젠킨스는 다양한 플러그인과 확장성을 제공하여 사용자가 다양한 개발 환경과 요구 사항에 맞게 적용할 수 있다. 이를 통해 소프트웨어 개발 팀은 품질 향상, 개발 생산성 향상, 지속적인 통합 및 배포를 효율적으로 수행할 수 있다. 📌 젠킨스의 주요 기능은 다음과 같다:.. 2023. 11. 15.
728x90