저번에 했던 프로젝트에서 프론트 코드를 모두 백엔드에 옮기고 배포를 진행했었는데 하나를 고치면 jar파일을 다시 만들어 public서버에 다시 올리고 확인하고 하는 과정이 번거로웠다. 그래서 배포 자동화라는 것을 공부해 적용해보기로 함!
CI/CD 란?
Continuous Integration/Continuous Delivery로 애플리케이션 개발 단계를 자동화하여 더욱 짧은 주기로 고객에게 제공하는 방법이다. 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포이다. 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 '통합지옥'을 해결하기 위한 솔루션
CI는 개발자를 위한 자동화 프로세스인 지속적 통합. 코드의 새로운 변경 사항이 정기적으로 빌드 및 테스트를 거쳐 공유 리포지토리에 병합됨. 여러 개발자가 동시에 작업할 경우 충돌문제를 해결할 수 있음
CD는 지속적 배포이다. 파이프라인의 추가 단계에 대한 자동화를 뜻하지만 때로는 얼마나 많은 자동화가 이루어지고 있는지를 설명하기 위해 별도로 사용되기도 한다. 지속적 제공이라고도 하는데 리포지토리에 자동으로 업로드되는 것을 뜻한다. 결과적으로 CI/CD는 파이프라인으로 표현되는 실제 프로세스를 의미하고, 애플리케이션 개발에 지속적인 자동화 및 지속적인 모니터링을 추가하는 것을 의미합니다.
https://www.redhat.com/ko/topics/devops/what-is-ci-cd
이 게시물을 참고해 공부했습니다.
AWS 계정은 생성했고 스프링부트를 활용해 AWS서버를 가지고 도커와 젠킨스를 활용한 배포를 하려해서 참고 블로그를 가져왔다.
https://velog.io/@dev_tmb/Docker%EC%99%80-jenkins%EC%9D%98-%EA%B4%80%EA%B3%84
도커와 젠킨스 말은 많이 들었는데 정확히 어떤 역할을 하는지 몰라서 블로그를 참고해서 공부했다.
Jenkins는 CI/CD 툴로 소프트웨어의 지속적 통합 및 제공, 관리를 수행한다. 소프트웨어 도구와 통합하는 방법 중에 도커가 있는 것이다. 파이프라인 및 Docker를 이용한 Jenkins와의 CI/CD 사용 순서는 다음과 같다.
1. Doker를 사용한 jenkins설치
2. 도커, 잡 DSL, jenkins 파이프라인을 사용한 Jenkins "DevOps 방식"rntjd
3. 플러그인을 사용해 젠킨스 개발 소프트웨어와 통합
4. 젠킨스 UI의 보안 강화를 위한 인증 및 권한 부여 옵션 구성
도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 서버에서 컨테이너는 다양한 프로그램, 실행환경을 하나로 추상화하고 동일한 인터페이스를 제공해 배포 및 관리를 단순화한다. 도커 내 젠킨스를 설치하는 거란다.
'이수아' 카테고리의 다른 글
[개별 스크럼]11. 08(수) Permission denied (publickey,gssapi-keyex,gssapi-with-mic) (1) | 2023.11.08 |
---|---|
[개별 스크럼]10. 31(화) 검색기능, 단위테스트공부 (1) | 2023.11.01 |
[개별 스크럼]10. 02(월)JWT 토큰 인증 실패 401에러 해결 (0) | 2023.10.03 |
[개별 스크럼]09. 27(수)JWT토큰 인증과 권한 설정 (0) | 2023.10.03 |
[개별 스크럼]09. 26(화) 이메일 인증과 유저 테이블 추가, 권한 수정 (0) | 2023.09.26 |