인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

CommitAndRun님의 프로필 이미지

작성한 질문수

Jenkins를 이용한 CI/CD Pipeline 구축

Kubernetes + Ansible 연동

엔서블을 이용하여 톰캣 이미지 배포 후, 되돌리는 방법

작성

·

39

0

배포된 버전에 문제가 발생하여, 이전 배포 버전으로 되돌리고 싶을 경우가 현업에서 발생 가능할 것 같은데요. 이럴 경우에는 어떻게 구성하면, 위 문제를 대비할 수 있을까요?

답변 2

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

답변이 늦어 죄송합니다.

CI/CD로 배포를 하신다는 것은 CI 작업에서 형상관리도구(Git 등)에 관련 코드에 대해 버전 관리를 하고 있다고 생각됩니다. 따라서, 이전 상태로 돌아 가고 싶은 경우에는 Git으로부터 최신 브랜치의 코드를 가지고 빌드/배포 하는 것이 아닌, 지정된 브랜치 또는 코드로 롤백 후 빌드/배포 하시면 됩니다. 실제 현업에서는 젠킨스+CI/CD 만으로 작업하는 것이 아닌, Kubernetes 등과 조합하여 배포/운영하는 경우가 대부분입니다. Kubernetes에서는 기본적으로 롤링 업데이트나 롤백 등의 작업이 지원되기 때문에, 간단하게 이전 버전으로 돌아가는 작업이 가능합니다.

추가 질문사항 있으시면 글 남겨 주세요.

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

CommitAndRun님께서 질문하신 내용은 DevOps 환경에서 굉장히 중요한 문제로, 롤백 전략이라고 합니다. 만약 배포된 버전에서 문제가 발생했을 때 이전 안정된 버전으로 되돌리는 방법에 대해 문의하신 것으로 보입니다.

이는 일반적으로 다음과 같은 방법으로 해결할 수 있습니다:

  1. 버전 관리: 모든 배포는 특정 버전 관리 시스템(Git 등)으로 추적 및 관리되어야 합니다. 이를 통해 어떤 버전이 안정적인지 파악할 수 있고, 롤백 시 특정 커밋 또는 태그를 기준으로 이전 버전으로 돌아갈 수 있습니다.

  2. CI/CD 파이프라인 설정: Jenkins 같은 CI/CD 툴을 사용하여 특정 버전으로 되돌리는 작업을 자동화할 수 있습니다. 예를 들어, Jenkins에서 특정 환경에 대해 특정 버전을 자동으로 배포하도록 설정할 수 있습니다.

  3. 엔서블 사용: 엔서블을 사용해 롤백을 자동화할 수 있습니다. 이전 버전의 애플리케이션 구성을 플레이북으로 관리하고, 문제가 있을 시 자동으로 해당 플레이북을 실행하여 이전 버전으로 돌아갈 수 있습니다.

  4. 컨테이너 시스템 사용: Docker나 Kubernetes 같은 컨테이너 기반 시스템을 사용하고 있다면, 이전에 잘 동작하던 이미지로 간단히 롤백할 수 있습니다.

아래와 같은 관련 질문들도 참고하시면 도움이 될 것 같습니다:

  • ansible-server 톰캣 설치 문제: 엔서블을 이용한 톰캣 설치 시 발생할 수 있는 문제를 다룬 게시글입니다. 플레이북을 활용한 문제 해결 방안과 관련하여 참고하실 수 있습니다.

질문에 대한 보다 구체적인 방향 설정이 필요하실 경우, 실질적인 사례나 현업에서의 경험을 바탕으로 지식공유자에게 문의하시면 더 많은 정보를 얻으실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.