프로젝트를 진행할 때 변경한 코드가 올려져 있는 Github Repository로 부터 서버에서 pull해서 build하고 deploy하는 과정이 너무 번거로웠다. 나는 이러한 문제를 해결하기 위해서 Github Actions를 사용하여 Repository에 특정한 이벤트(나와 같은 경우 pull request)가 발생하면 자동으로 빌드하고 빌드된 프로젝트 파일을 AWS S3에 올리도록 하였다(CI 과정). 그 후는 Github Actions가 CodeDeploy에게 배포 명령을 내리고 AWS Code Deploy Agent가 appspec.yml의 절차를 따라 배포 서버(EC2)에 배포하는 과정을 거친다(CD 과정). 이번 포스팅은 GithubActions로 S3에 저장된 빌드 파일은 EC2 인스턴스로..
프로젝트를 진행할 때 변경한 코드가 올려져 있는 Github Repository로 부터 서버에서 pull해서 build하고 deploy하는 과정이 너무 번거로웠다. 나는 이러한 문제를 해결하기 위해서 Github Actions를 사용하여 Repository에 특정한 이벤트(나와 같은 경우 pull request)가 발생하면 자동으로 빌드하고 빌드된 프로젝트 파일을 AWS S3에 올리도록 하였다. 그 후는 AWS Code Deploy가 배포 서버(EC2)에 배포하는 과정을 거친다. 이번 포스팅은 GithubActions으로 Spring Boot 프로젝트 CI 적용하는 부분을 작성하였다. Github Actions 구성요소 Github Actions Workflow의 각 job은 가상 머신 runner 또는..
"4일동안 끙끙 해맸던 CI/CD 적용에 성공했다." 코드스테이츠 메인 프로젝트를 진행할 때 시간 내 기능 구현을 해야했기 때문에 CI/CD 적용에 실패하고 마음 한구석이 찜찜했는데 온전히 집중할 수 있는 시간이 있는 취준생의 신분으로 도전할 수 있었다. 그런데 왜 4일이나 걸렸느냐? 근본적인 원인을 말하자면 개인들이 작성한 블로그를 보면서 진행하느라 그랬다. 그리고 구체적인 원인을 말하자면 spring cloud aws parameter store 서비스에 관한 버전 문제였다. 나는 spring boot 2.7.12버전 프로젝트에 적용했는데 참고한 글들의 버전은 2.3 혹은 2.4 버전이었다. 버전 문제를 확인하고 성공했을 때 말할 수 없는 짜릿함. 이 맛에 개발한다. 많은 선배 개발자 분들이 충고하였..
- Total
- Today
- Yesterday
- CI/CD
- 영속 상태
- Spring
- githubactions
- java
- 자바
- entitylisteners
- 프로그래머스
- CodeDeploy
- CI와 CD의 차이
- 영속성 컨텍스트
- EC2
- 지연 대기열
- network
- DevOps
- springboot
- acm
- IAM
- 정렬
- Route53
- fetchcount()
- 네트워크
- JPA
- 트랜잭션
- appliationeventlistener
- LeetCode
- aws
- Spring Boot
- persistencecontext
- Hibernate
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |