본문 바로가기

반응형
SMALL

Server/Infra

(8)
[Docker] 도커 활용해서 Spring Boot 환경에서 CI/CD 파이프라인 구축하기 [Docker] jar 파일 도커(docker) 이미지로 배포하기 (with. Java, SpringBoot)Docker로 서버 배포하기진행하던 사이드 프로젝트에서 헥사고날 아키텍처를 도입하게 되었다. 그에 따라 멀티모듈로 싹 바꾸고 리팩토링 작업을 진행했다. 약 일주일 간의 작업 후 수정된 서버를soso-hyeon.tistory.com 안녕하세요!약 2달 전에 도커 이미지를 서버에 수동 배포하는 글을 작성했었는데요, 이번엔 배포를 자동화하는 CI/CD 파이프라인을 구축해보아서 그 과정을 기록하려고 해요. 해당 작업을 진행한 환경은 다음과 같아요.Java, Spring Boot (jar 파일 활용)Docker HubGithub ActionAWS EC2 Ubuntu 기존에 진행하던 프로젝트에 CI/CD 파..
[Docker] jar 파일 도커(docker) 이미지로 배포하기 (with. Java, SpringBoot) Docker로 서버 배포하기진행하던 사이드 프로젝트에서 헥사고날 아키텍처를 도입하게 되었다. 그에 따라 멀티모듈로 싹 바꾸고 리팩토링 작업을 진행했다. 약 일주일 간의 작업 후 수정된 서버를 재배포하려고 하니 배포에 실패하고 말았다..! EC2 용량 부족의 문제였다. 당황해서 EC2 불륨을 늘려보고 캐시를 지워보고 용량을 확보하기 위해 이것저것 해보았지만, 결국 안그래도 적은 용량을 늘려도 커진 jar 파일을 감당하기엔 무리였던 것 같다.. 하루 정도 텀을 두고 곰곰히 생각해보니 기존의 배포 방식은 jar 파일을 압축해서 AWS를 통해 올려 zip 파일을 ec2 서버 내에서 다시 풀고, 빌드된 jar 파일을 실행시키는 구조였다. 배포 파일 크기를 줄일 수 있는 방식이 없을까 고민하다가 도커 이미지를 떠올..
[우당탕탕 개발일지] AWS, Code Deploy 배포 실패 CodeDeploy agent was not able to receive the lifecycle event. Check the CodeDeploy agent logs on your host and make sure the agent is running and can connect to the CodeDeploy server. 배포하다가 제목과 같은 오류가 떴다. 뭘 잘못했을까 찾아보다가 agent를 restart 하지 않은 것을 알게 되었다. 몰랐는데 EC2에 역할 부여 후에는 agent도 restart 해주어야한다고 한다. 기억해야지,, 내 상황에 딱 맞는 글을 찾아서 다행이다 ㅠ.ㅠ Reference https://lemontia.tistory.com/1080
[우당탕탕 개발 일지] Spring Boot 배포하기: Nginx 로 CICD 안녕하세요. 방금 우당탕탕 어찌저찌 무중단 배포로 CICD 세팅 완료하고 왔읍니다 ! [CHORE] CICD 세팅 - CD by thguss · Pull Request #39 · Team-Smeme/Smeme-server-renewal Related issue 🚀 closed #37 Work Description 💚 CICD 세팅: CD 과정 진행 과정 🔥 S3 업로드 Code Deploy 연결 CD github.com 지난 번 CICD에는 성공했지만,, 매번 코드가 바뀌고 배포할 때마다 그 배포 중은 서버가 502로 내려가는 것이 조금 불편쓰 했다. 그래서 이번에는 Nginx를 이용하여 무중단 배포 CICD를 세팅하기로 했다! 우분투 20.04 기준입니다! 플로우는 Spring Boot로 CICD 세팅..
[우당탕탕 개발 일지] 우분투 Nginx 설치 $ sudo apt update $ sudo apt upgrade $ sudo apt autoremove $ sudo apt install nginx $ sudo nginx -v 업데이트 후, nginx를 설치하고 버전을 확인한다. $ sudo service nginx start $ sudo service nginx status nginx를 시작하고, 상태를 확인할 수 있다. $ sudo service nginx restart $ sudo service nginx stop 재시작 할 수 있고, 중단시킬 수 있다. Refereces https://t-okk.tistory.com/154
[우당탕탕 개발 일지] 우분투 Java17 설치 매번 똑같은 것을 까먹고 매번 똑같은 것을 구글링 하니, 찾아볼 때마다 직접 기록을 해야겠다. $ sudo apt update $ sudo apt install openjdk-17-jdk $ java -version sudo 권한으로 업데이트 후, 자바17을 설치하고 버전을 확인해주면 끝! 굳! References https://languagestory.tistory.com/154
[우당탕탕 개발 일지] Github Action과 CodeDeploy로 SpringBoot CICD 세팅하기 새로운 프로젝트를 슬슬 시작하는 과정에 있다. 편리함을 위해 이번 프로젝트에서는 CICD 도입을 맡게 되었다. 스프링 부트 기반의 프로젝트를 CICD 연결했던 과정을 기록해보겠다! 더보기 준비물 - 스프링부트 기반 프로젝트 - 깃허브 액션 - AWS Code Deploy - AWS EC2 GitHub - prgrms-web-devcourse/Team-06-Final-BE Contribute to prgrms-web-devcourse/Team-06-Final-BE development by creating an account on GitHub. github.com 위 레포지토리를 CICD 연결했다! CI (Continuous Integration) 지속적 통합은 새로운 코드의 변경 사항이 정기적으로 빌드 ..
AWS와 Github로 Node CICD 연결하기 CI (Continuous Integration, 지속적 통합) CI, 즉 지속적 통합은 새로운 코드의 변경 사항이 정기적으로 빌드 및 테스트 되어 한 레포지토리에서 통합되는 것을 의미합니다. 개발자들이 협업을 진행할 때, 병합 과정에서의 충돌을 방지할 수 있고 작업을 빠르고 효율적으로 진행할 수 있습니다. 그럼 깃허브 액션을 사용하여 Node 파일을 CI 세팅해봅시다. Github Actions Secrets 먼저 깃허브 액션을 사용하기 위해, .env 파일 내용을 환경변수로 등록해야 합니다. setting > security > secrets and variables > actions 으로 들어가서 .env 파일의 내용을 환경변수로 등록해주세요. New Repository secrete 버튼을 눌러서..

반응형
LIST