Project/협업프로젝트

    [협업프로젝트] Jenkins와 Docker로 CI/CD pipeline 구축하기 (2)

    인프라 구축 환경 AWS EC2 인스턴스 2개 활용 예정 구축용(Jenkins) 서버 : Jenkins, Git, Gradle, Docker, Jdk8 배포용 서버 : bash, Spring boot Git Repository : Github 인프라 구축을 하기 위해 배포할 서버가 필요하다. 여기서 나는 AWS 프리티어를 사용하고 있고 제일 보편적으로 AWS EC2를 많이 사용하기 때문에 EC2 인스턴스 t2.micro 리전을 생성하여 인프라 구축 환경을 만들려고 한다. 목표 다음과 같은 그림 구조로 CI/CD 파이프라인을 구축하여 자동배포가 가능하도록 할 예정이다. EC2 Jenkins 서버 구축 1. 스왑 메모리 프리티어 기준 EC2 메모리는 1GB이며, 젠킨스는 스프링 프레임워크 프로젝트 빌드시 약..

    [협업프로젝트] Jenkins와 Docker로 CI/CD pipeline 구축하기 (1)

    서론 프로젝트를 배포하면서 빌드를 하루에 한 번 이상 진행할 수 있고, 하지 않을 수 있지만 일주일, 한 달로 따지면 많은 빌드를 할 것이다. 여기서 빌드과정마다 dev 환경의 test, build를 진행하고 오류가 없는 jar 파일을, ec2 서버에 배포하려면 많은 시간을 투자해야 한다. 이러한 반복되는 과정은 자동화할 필요가 있고, 이를 구축하는 방식(CI/CD)은 다양한 도구가 존재하여 비교하고 결정하는 과정을 포스팅하기로 하였다. 이번 글의 목차로는 다음과 같다. CI/CD 개념 가장 많이 쓰이는 CI/CD jenkins, git action 비교 Jenkins를 선택한 이유 CI/CD란? CI = 지속적인 통합(Continuous Integration); 한마디로 “빌드와 테스트 자동화” CD ..

    [협업프로젝트] SpringBoot 프로젝트 EC2, RDS 적용

    서론 https://cobi-98.tistory.com/73 [협업프로젝트] SpringBoot 프로젝트 EC2 배포하기 서론 프론트엔드와 rest api 협업 프로젝트를 진행하고 있어, 백엔드 서버를 배포해야 한다. github에 있는 프로젝트를 AWS EC2 ubuntu 환경에서 git clone으로 내려받아 jar 파일을 빌드하여 서버를 배포해 cobi-98.tistory.com github에 있는 프로젝트를 AWS EC2 ubuntu 환경에서 git clone으로 내려받아 jar 파일을 빌드하여 서버를 배포하고 나니 mysql 문제가 계속 발생했다. ubuntu 환경에서는 mysql을 확인하지 못하는 이유는 개발 환경에서의 docker mysql 이미지를 사용하였기 때문이다. 여기서 두 가지의 방..

    [협업프로젝트] SpringBoot 프로젝트 EC2 배포하기

    서론 프론트엔드와 rest api 협업 프로젝트를 진행하고 있어, 백엔드 서버를 배포해야 한다. github에 있는 프로젝트를 AWS EC2 ubuntu 환경에서 git clone으로 내려받아 jar 파일을 빌드하여 서버를 배포해 보자. 순차적으로 EC2 배포시스템을 수동으로 구성하고, RDS 생성 및 EC2 연결, S3 storage 설정, Jenkins 서버와 Deploy(운영) 서버 두 개를 활용해서 CI/CD 파이프라인 구성을 할 것이다. 이 글의 목차로는 다음과 같다. AWS 세팅하기 발급받은 ssh 키로 Ec2 우분투 콘솔에 접속하기 (Window putty활용) 우분투 콘솔에서 git ssh 연동후 git clone 하기 내려받은 파일로 빌드하고 jar 파일 실행시켜 스프링 부트 서버 실행시..

    [협업프로젝트] SwaggerUI + Spring RestDocs 로 API 문서화하기

    SwaggerUI VS Spring REST Docs 팀 프로젝트 스택 결정 시 API 문서화를 도와주는 프레임워크에 Spring Rest Docs와 Swagger가 언급되었고, 두 가지 스택 중 한 스택을 결정하기로 하였다. 다음은 어떤 스택을 사용할지에 대해 서로 공부해서 소통하기로 한 결과를 표로 정리한 내용이다. 주요 특징 Spring Rest Docs Swagger 주 용 도 테스트 기반 API 문서화 API 스펙 정의 및 시각적 문서화 문서화 방식 테스트 케이스를 사용하여 API를 호출하고 문서화 API 스펙을 정의하고 자동으로 시각적 문서를 생성 테스트 기반 문서화 예 (JUnit, REST Assured, MockMvc 등을 사용) 아니요 문서 형식 다양한 형식을 지원 (HTML, Asci..