Spring/Spring ++4 Github Actions + Code Deploy + Ngxin + ubuntu 20.04로 무중단 배포하기 (3) 마지막! 마지막 Nginx로 무중단 배포구현 자동 빌드/테스트 + 무중단배포의 전체 흐름중 마지막인 빨간 체크박스 부분을 구현할 시간이다. 스프링부트 프로젝트를 실행시 어느 포트를 사용할지 지정할 수 있다. 현재 프로젝트가 실행된 포트가 8081라고 하자. (현재 실행중) 개발자가 개발을 하던중 수정사항이 생겼고 커밋을해서 원격저장소에 올린후 workflow를 실행했다고 해보자(게시글에서는 수정으로 workflow를 실행하게끔 구현했으므로) workflow로 인해 빌드/테스트가 진행된후 s3에 빌드파일이 올라가고 code deploy agent가 배포를 할텐데 배포할때 8082 포트로 방금 배포된(=수정된,최신버전) 프로젝트를 실행하고 잘 켜졌는지 확인한후 잘켜졌다면 nginx가 8082포트의 프로젝트를 가르키게.. Spring/Spring ++ 2022. 10. 23. Github Actions + Code Deploy + Ngxin + ubuntu 20.04로 무중단 배포하기 (2) S3에 올린 jar를 가져다가 배포시키기 전 게시글은 빌드한 결과인 jar파일을 zip파일로 압축시켜 s3에 올리는 workflow를 구성했고 실제로 잘 동작한걸 확인할 수 있었다! Code deploy를 이용하여 배포시키기 Code deploy란 aws에서 제공하는 어플리케이션 자동 배포 서비스이다! EC2,AWS Lambda와 같은 서비스에 배포가 가능하고 현재위치 배포 또는 블루/그랜 배포 (= 무중단 배포)도 지원함 ( 하지만 나는 무중단배포에 nginx를 이용할것임) 이제 Code deploy에게 배포하라고 시켜보자 ( 그러면 Code deploy는 Code deploy agent에게 배포명령을 전달할것임) Code deploy의 배포과정 1. 개발한 어플리케이션(프로젝트) 최상단 경로에 App.. Spring/Spring ++ 2022. 10. 23. Github Actions + Code Deploy + Ngxin + ubuntu 20.04로 무중단 배포하기 (1) Jenkins , Travis ci 등 많은것들이 있지만 Travis Ci는 무료플랜이라고 해서 가입했더니 1달러를 뺏어가구 또 무슨 토큰을줘서 해당 토큰량을 사용할때까지만 무료라고해서 괘씸해서 Github Action으로 구현하였다. ci(Continuous Integration, 지속적 통합) 란? ci는 빌드/테스트 자동화과정을 의미한다. (테스트코드를 작성해놨으면 빌드시 테스트도 되니까?) 개발자가 일일이 빌드/테스트하는 그 일련의 과정을 jenkins라던지 travis ci라던지 github actions이라던지를 이용하여 구현한다. 그러면 개발자는 코드를 커밋할때마다 빌드와 테스트가 자동으로 이루어져 편리함을 제공함 + 커밋할때마다 빌드/테스트가 되서 공유 리포지토리에 통합되므로 여러명의 개발.. Spring/Spring ++ 2022. 10. 22. Spring - SMTP 네이버 이메일 인증 , redis로 인증번호 만료 구현 네이버 SMTP 설정 설정을 저장해주면 아래 Pop 서버명같이 작은 정보창이 생김 의존성 설정 //이메일인증 implementation 'org.springframework.boot:spring-boot-starter-mail' 환경설정 -> MailConfig.java OR application.yml 사용 @Configuration public class MailConfig { @Value("${spring.mail.password}") private String password; @Bean public JavaMailSender javaMailService() { JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); javaMailSender.. Spring/Spring ++ 2022. 10. 16. 이전 1 다음