👩💻 개발
[Spring/Batch] Step간 변수 공유 - ExecutionContext
https://zzang9ha.tistory.com/429 Spring Batch (6) ExecutionContext📎 ExecutionContext 지난 시간에는 Step, StepExecution에 대해 살펴보았습니다. 이번 시간에는 JobExecution 및 StepExecution 객체에 존재하는 ExecutionContext에 대해 살펴보겠습니다. (예제 코드는 GitHub에서 확인zzang9ha.tistory.comhttps://jojoldu.tistory.com/490 JobParameter 활용 방법 (feat. LocalDate 파라미터 사용하기)Spring Batch에서는 Spring Environment Variables (환경 변수) 외에 Batch에서만 사용할 수 있는 JobP..
[DevOps] SpringBoot + GitHub action + Nginx + AWS 배포 - 3
본 플젝은 스프링부트를 사용했으며 깃헙 액션을 통해 도커허브에 이미지를 푸시하고 ec2에서 이미지를 실행시키는 방식이다. ※ AWS Route53에서 도메인을 구매했거나 Route53의 호스팅 영역 생성 후 NS값을 해당 도메인의 네임서버에 넣어주면 된다. 1. 도메인 Https 설정 -1) AWS ACM(AWS Certificate Manager) 접속 후 인증서 생성 -2) 인증서 ID 누름 → Route 53 레코드 생성 몇 분 후에 성공 상태가 된다. -3) ec2 로드 밸런서 생성 * Application Load Balancer으로 생성 http와 https를 모두 생성해 준 후 타깃 그룹을 생성해 준다. Nginx에서 80 포트로 접속할 것이므로 protocol : http port: 80으..
[DevOps] SpringBoot + GitHub action + Nginx + AWS 배포 - 2
본 플젝은 스프링부트를 사용했으며 깃헙 액션을 통해 도커허브에 이미지를 푸시하고 ec2에서 이미지를 실행시키는 방식이다. 1. ec2 설정 ec2 인스턴스 생성 후 인바운드 규칙 수정 기본적으로 아래와 같은 포트가 필요하다. ssh, http, https, DBport, Spring port.. 해당 포트들이 모두 열려있어야 요청 시 접속이 가능하다. ※ 탄력적 IP까지 연결 해주면 좋다. 2. SecretKey 적용 -1) HOST: 배포할 EC2 서버 퍼블릭 DNS(IPv4) 주소 예: ec2 {퍼블릭_IPv4_주소}. ap-northeast-2.compute.amazonaws.com -2) KEY: ----BEGIN RSA PRIVATE KEY--- 부터 ----END RSA PRIVATE KEY-..
[DevOps] SpringBoot + GitHub action + Nginx + AWS 배포 - 1
본 플젝은 스프링부트를 사용했으며 깃헙 액션을 통해 도커허브에 이미지를 푸시하고 ec2에서 이미지를 실행시키는 방식이다. 1. 도커 파일 생성 스프링 프로젝트가 빌드된 jar 파일을 도커 이미지로 생성한 후 이를 이용하기 위한 도커 파일 FROM openjdk:11 # jdk 11 version use EXPOSE 8080 #port: 8080 ARG JAR_FILE=build/libs/*.jar # 빌드 결과물을 JAR_FILE에 저장 COPY ${JAR_FILE} app.jar # 빌드된 파일을 app.jar에 카피 ENTRYPOINT ["java","-jar","-Duser.timezone=Asia/Seoul","-Dspring.profiles.active=dev","/app.jar"] # 생성된 ..
[DevOps] Github Actions란?
Github Actions GitHub에서 제공하는 지속적인 통합(CI) 및 지속적인 배포(CD) 서비스 개발자는 GitHub 저장소 내에서 워크플로우(Workflows)를 정의하여 코드 변경 사항을 자동으로 빌드, 테스트, 배포할 수 있다. 다음과 같은 작업을 수행할 수 있다. 자동 빌드 및 테스트: 코드 변경 사항이 발생하면 지정된 빌드 스크립트 또는 명령을 실행하여 애플리케이션을 자동으로 빌드하고 테스트할 수 있다. 지속적인 배포: 애플리케이션을 변경 사항이 있는 경우 자동으로 배포할 수 있습니다. 예를 들어, 서버에 변경 사항을 자동으로 배포하거나 클라우드 서비스에 컨테이너 이미지를 업데이트할 수 있다. 사용자 정의 워크플로우: GitHub Actions는 다양한 이벤트와 작업을 트리거로 사용자 ..