드디어 3, 4 개월만에 톰캣으로 서비스하던 프론트엔드 서비스 대부분을 Amplify로 전환했습니다. 그동안 테스트를 작성하면서 많은 고민을 했습니다... 제스트 기반으로 공통모듈을 테스트하고 있지만 배포과정에서 전체 테스트를 돌리는건 비효율적이라고 생각이 들어서 주요 기능에 대해서 E2E테스트를 작성해서 Amplify 배포 과정에서 테스트 되도록 하면 좋겠다는 생각이 들었습니다. 제가 운영하는 서비스에서 예약, 취소 관련 기능이 중요하여 E2E테스트를 작성하고 배포하기로 하였습니다 :) 우선 기존에 작성했던 예약관련 E2E테스트를 수정해서 배포하였고 나머지는 시간날때 마다 조금씩 추가 하려고 합니다. 테스트작성 보다는 세팅하는 부분이 까다로워서 세팅 부분을 공유 해보겠습니다~ 우선 배포가 완료되면 아래..
배경 저는 웹페이지도 개발하고 있지만 앱내에서 보여지는 주문, 예약관련 페이지도 개발하고 있습니다. 개발하고 있는 서비스는 Java 백엔드 기반으로 서비스 되고 있고 프론트엔드 배포를 위해서 백엔드도 같이 배포해야하는 문제가 있어 개선이 필요했습니다. 아무래도 프론트 개발은 수정요건이 자주 발생하고 이벤트성 개발도 있기때문에 개발, 배포과정이 비교적 짧은 경우가 많았습니다. 그런데 백엔드와 같이 배포하다보니 배포시간도 오래 걸리고 소스 관리 측면에서도 단점이 많았습니다. 그리고 백엔드 + 프론트서비스 2개로 구성되어 있는 모노레포 구조에서 프론트 서비스를 동시에 2개 서비스 하고 있기때문에 프론트 공통 모듈등을 잘못수정하여 배포한다거나 실수로 수정대상이 아닌 서비스를 잘못 수정하여 배포한다면 서비스에 장..
최근 로딩성능 개선을위해 https://developers.google.com/speed/pagespeed/insights/?hl=ko 을 통해 개발중인 서비스의 개선점을 자주 모니터링하고있습니다. 개선 과정중에 http => https 로 리다이렉트 시키는 js파일이 랜더링 차단요소에 나타난걸 보고 제거하기로 했습니다:) AWS Elastic Beanstalk를 사용중이고 적용할 수 있는 방법이 있나 찾아보니 로드벨런서를 이용한 리다이렉션이 가능했다. 현재 사용하고있는 로드밸런서는 Classic Load Balancer였고 Redirection을 지원하지않아 Application Load Balancer로 변경하기로 하였다. 지원 가능등은 아래 링크를 통해 비교가능하다. https://aws.amazo..
필요성 이번에 부족한 개발인원으로 인해 외주업체에 프론트엔드 개발을 주면서 자동 배포환경이 필요하게 되었다 기존에는 aws cli를 통해 배포 하고있었으나 그러기 위해선 pem파일을 공유해야 하고 일부 AWS권한을 부여해야하는 문제가 있었다. 그러나 외주업체에 AWS접근권한을 준다는것에 대한 거부감이있었고 github actions를 통해서 자동배포환경을 구성하게 되었다. 찾아보면 Github Actions 템플릿이 많이 존재하여 생각보다 쉽게 구성할 수 있다. 프론트엔드 배포를 위해 아래와 같은 조건을 충족하여야 했다. 1. github push 많으로 빌드, 배포가 자동적으로 이루어져야한다. 2. package.json 기준으로 패키지 인스톨이 가능해야한다. 3. 빌드 과정을통해 production에..