프로젝트를 진행할 때 변경한 코드가 올려져 있는 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 인스턴스로..
반복된 과정을 자동화하는 CI/CD 개발자가 코드를 변경할 때 마다 빌드, 테스트, 통합, 배포하는 과정을 반복하게 된다. 반복된 과정을 매번 하는 것은 비효율적이기 때문에 자동화하는 것이 좋다. 코드를 변경하는 것은 매번 달라지기 때문에 자동화가 어렵지만 그 외 과정은 적절한 설정을 하게 되면 자동화가 가능하다. 즉, 빌드, 테스트, 통합, 배포하는 과정을 자동화하는 것을 CI/CD라고 한다. CI와 CD는 다른 과정이다. CI(Continuous Integration, 지속적 통합)란? 빌드 Build → 테스트 Test → 통합 Merge → 배포 Deploy 단순하게 배포하기 전까지의 과정이다. 개발자는 배포 전에 코드를 여러 브랜치에서 통합하는 과정을 거친다. 배포 전까지의 과정이 여러 코드를 ..
- Total
- Today
- Yesterday
- 영속성 컨텍스트
- IAM
- Spring Boot
- 자바
- Spring
- EC2
- Route53
- githubactions
- springboot
- DevOps
- entitylisteners
- CI와 CD의 차이
- 트랜잭션
- acm
- Hibernate
- 지연 대기열
- java
- LeetCode
- 프로그래머스
- fetchcount()
- CodeDeploy
- 네트워크
- CI/CD
- 영속 상태
- aws
- network
- 정렬
- JPA
- appliationeventlistener
- persistencecontext
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |