본문 바로가기

CICD

(4)
Jenkins PipeLine으로 Docker Image 만들고 배포하기 Jenkins 2.401.1 버전 기준으로 작성한 내용입니다. Docker Hub Credential 만들기 Docker Hub https://hub.docker.com/ 에 접속하여 도커 아이디를 만들어준다. 토큰 생성 Account Settings → Security → New Access Tokens Access Token Description (원하는 이름 입력) → Generate Token 창을 끄면 다시 확인할 수 없음으로 Token을 복사해둔다. Credential 만들기 1. Jenkins 대시보드 → Jenkins 관리 → Credentials → 아래의 gloabl 클릭 → Add credentials 2. New Credentials Kind → Username with passwo..
Jenkins로 Spring Boot 배포하기 Jenkins는 Java로 빌드 된 오픈소스 CI/CD 도구이다. 소프트웨어 프로젝트를 빌드, 테스트 및 배포하기 위해서 사용한다. 해당 글은 centos를 사용해서 작성했습니다. 설치 방법 1. 자바 설치 젠킨스는 Java 11 or 17을 요구합니다. 현재 사용하는 프로젝트가 Java 17을 사용하기 때문에 Java 17을 설치하겠습니다. 아래 링크를 통해 Java를 설치할 수 있으며 OS에 맞는 것을 다운로드합니다. https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html 2. Jenkins 저장소 Key 다운로드 패키지 저장소 추가 $ wget -O /etc/yum.repos.d/jenkins.repo GPG 키 추가..
Github Action & Docker 를 사용해서 배포 속도 개선 지난번에 Docker를 사용해서 배포를 하였지만 도커 이미지를 만들고 허브에 업로드하는 작업이 속도가 꽤 걸리는 것 같았고, AWS EC2 서버에 API 서버를 올리기 때문에 AWS를 사용해서 배포하는 것으로 변경하기로 하였다. 배포 과정 1. Github Action에서 코드 빌드 후 압축해서 S3에 Push 2. CodeDeploy 실행 3. AppSpec로 EC2에 배포 명령 4. EC2에서 S3에 있는 파일 가져온 후 EC2에 배포 EC2 서버 생성 과정은 생략 EC2 설정 EC2 선택 -> 작업 -> 인스턴스 설정 -> 태그 관리 태그 관리에서 키로 태그를 추가합니다 EC2 -> 태그에서 해당 인스턴스에 대한 태그를 확인할 수 있습니다. IAM 역할 추가 IAM -> 역할 -> 역할 만들기 AW..
GitHub Action & Docker를 사용해서 배포 프로젝트를 진행하면서 소스 코드의 변경사항이 발생하면 새롭게 배포를 해야합니다. 이때는 수동으로 배포를 진행해서 매번 빌드 후 jar 파일을 서버에 올려서 배포를 했었습니다. 매번 수동으로 배포할 수 없었기 때문에 자동으로 빌드 및 배포되도록 하기 위해서 CI/CD를 적용하기로 했다. 이러한 CI/CD를 위한 툴은 대표적으로 Jenkins가 있지만 Jenkins는 회사에서 사용중이였고 다른 CI/CD를 사용해보고 싶었고 간단하게 하기 위해서 Github Action을 선택하게 되었다. 간단하게 Github Action에 대해 알아보고 적용해보자 GitHub Action 이란? GitHub에서 제공하는 CI(지속 통합), CD(지속 배포) 플랫폼이다. Workflow 작업의 흐름으로 특정한 목적을 위한 실..