🛠️ CI & CD

    Harbor 용량 관리 및 트러블 슈팅

    Harbor 이미지 올바르게 지우기 Harbor 서버에서 용량을 관리하기 위해 과거의 이미지를 지울 수 있다. 하지만 이미지를 지우더라도 실제 서버 용량은 변함이 없으므로 Garbage Collection을 작동시켜줘야 한다. When you delete images from Harbor, space is not automatically freed up. You must run garbage collection to free up space by removing blobs that are no longer referenced by a manifest from the file system. 관리자 계정을 들어가면 좌측 탭에 Administration 메뉴가 활성화 되며 Garbage Collection을 ..

    스프링부트 + Github + Jenkins + Docker / CI & CD 연습하기 (2)

    환경 Ubuntu 20.04 Server 순서 스프링부트 프로젝트를 Github에 Commit Github의 Webhook 기능을 이용해 Jenkins에 자동으로 trigger 유발 trigger된 Jenkins에서 Github Clone후 Dockerfile을 통해 Docker Image 생성 Docker Image를 Docker Hub에 Push SSH Agent를 통해 원격 서버에서 Docker Image를 Pull 한 후 Run으로 실행 이전 글에서 설명했던 부분은 전부 넘어가도록 하겠습니다. 아래 내용은 프로젝트를 Docker Image를 만드는 데서부터 시작합니다. 왜 jar로 하면 될 일을 굳이 Docker를 쓸까요? Docker를 이용하면 어떤 운영체제든지 쉽게 컨테이너 실행이 가능하며 가..

    스프링부트 + Github + Jenkins / CI & CD 연습하기 (1)

    환경 Ubuntu 20.04 Server 순서 스프링부트 프로젝트를 Github에 Commit Github의 Webhook 기능을 이용해 Jenkins에 자동으로 trigger 유발 trigger된 Jenkins에서 Github Clone후 Build를 통해 jar파일 생성 jar파일을 Publish Over SSH를 이용해 다중 서버로 배포 후 배포 전체적인 흐름을 설명하기 위한 글이며 각각의 흐름 중 모르는게 있다면 따로 찾아보시길 추천합니다. 반대로 흐름을 까먹으셨다면 다시 이 글로 돌아와서 어느 부분을 연동시켜야 되는지 찾으시길 추천합니다. Jenkins에서 Github 연동 GitHub - stir084/JenkinsStudy Contribute to stir084/JenkinsStudy dev..

    Jenkins Blue Ocean 소개 및 주관적인 단점 3가지

    Jenkins Blue Ocean은 Jenkins Pipeline을 구성하는 데에 있어 더 편리하게 도와주는 도구다. 그래서 Blue Ocean을 소개하기 전에 Pipeline에 대해 잠깐 얘기하고 넘어가 보자. Pipeline이란? 전통적인 젠킨스 구현 방법은 아래처럼 Freestyle project를 만들어서 각각의 설정 값들을 하나하나 기입해서 CI & CD(통합 및 배포)를 구축하는 방법이었다. Freestyle로 CI & CD를 구축했을 때의 단점은 개발자가 직접 CI를 위한 설정 값과 CD를 위한 설정 값들을 이곳저곳에 넣어줘야 했었다. 이러한 행위는 결과적으로 환경이 분산되어 있다는 문제점을 직면할 수 밖에 없다. 환경의 분산은 추후에 똑같은 설정을 다시 하더라도 마치 새로 학습하는 것처럼 ..