본문 바로가기

All162

(24.08.02)[16주차] CD Pipeline 중 GitHubs자동화 배포에 대한 정리 CD Pipeline 중 GitHubs자동화 배포에 대한 정리마지막 프로젝트의 웹 서비스 제품을 만드는 것을 목표로 해서 중간 MVP 제작을 위해서 배포용 파이프 라인을 구상하고 튜터님들의 조언을 받아서 완성 후 구축을 했다.위츼 파이프 라인 중에서 CD 부분 즉, GitHub Repository로 Java 기반의 Spring Boot BE 프로젝트에대해서 코드를 Push 시켰을 때, 배포를 할 수 있는 AWS EC2 인스턴스에 도커 컨테이너에 자동으로 실행해서 인스턴스 내에 띄우도록 했다.물론 FE React 개발도 동시에 똑같이 진행을 하며, 이는 GitHub Actions 를 통한 Workflows 를 통해 진행했다.이론상은 단순하지만, GitHub Actions YAML에 작업이 기재 하는 방법 .. 2024. 8. 2.
(24.08.01) CD 파이프 라인 재구성 계획, GitHub Actions를 통한 컨테이너 빌드 자동화 구현 CD 파이프 라인 재구성Nginx를 두고 React와 SpringBoot 컨테이너간 포트를 맞췄음에도, React요청시 net::ERR_CONNECTION_REFUSED 문제가 발생,따로 nginx.conf 설정을 포함해서 Dockerfile을 통해 이미지를 제작GitHub Actions를 통한 컨테이너 빌드 자동화GitHub Actions YAML을 통해서 자동화Dockerhub 이미지 PushS3를 사용할 수 있지만, Scale-out 서버인 상황에서 Dockerhub를 사용해서 아이디 비밀번호만 있어도 쉽게 이미지를 다운받을 수 있도록 할 수 있기 때문에  Dockerhub를 사용하는 것으로 결정인스턴스에서 이미지 PullContainer 빌드를 진행이때 Actions의 환경변수를 통해 직접  SS.. 2024. 8. 2.
(24.07.26) CI/CD 파이프 라인 구상 및 테스트 코드 점검 테스트 코드를 작성했기 때문에 팀원들이 BE 기능 구성과 더불어서 CI/CD 파이프 라인을 간략하게 구상MySQL, Redis 분리해서 각각 Docker 컨테이너당 하나의 EC2 인스턴스를 사용하는 것으로 구상S3는 파일을 저장해야하기 때문에 해당 부분을 따로 분리React단으로 FE를 구성할 것을 결정Route53 을 통해서 Domain 을 구성하기로 사전 협의CI/CDJenkins와 Kubernetes 사용을 협의했지만, 오히려 연관관계가 복잡한 구성이기 때문에 과하게 확장해서 오케스트레이션 할 필요없이 GitHub Actions를 통해서 직접 DevOps  파이프 라인을 구상할 수 있도록 설정 2024. 7. 26.
(24.07.26) 코드 리뷰 기능(게시글, 댓글, 좋아요) 테스트 코드 작성 통합 테스트 코드 작성Controller 테스트 코드@WebMvcTest 테스트 코드 진행 MockSpringSecurityFilter 사용public class MockSpringSecurityFilter implements Filter { @Override public void init(FilterConfig filterConfig) {} @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { SecurityContextHolder.getContext() .setAuthentication((Authen.. 2024. 7. 26.