작성
·
39
0
배포된 버전에 문제가 발생하여, 이전 배포 버전으로 되돌리고 싶을 경우가 현업에서 발생 가능할 것 같은데요. 이럴 경우에는 어떻게 구성하면, 위 문제를 대비할 수 있을까요?
답변 2
0
안녕하세요, 이도원입니다.
답변이 늦어 죄송합니다.
CI/CD로 배포를 하신다는 것은 CI 작업에서 형상관리도구(Git 등)에 관련 코드에 대해 버전 관리를 하고 있다고 생각됩니다. 따라서, 이전 상태로 돌아 가고 싶은 경우에는 Git으로부터 최신 브랜치의 코드를 가지고 빌드/배포 하는 것이 아닌, 지정된 브랜치 또는 코드로 롤백 후 빌드/배포 하시면 됩니다. 실제 현업에서는 젠킨스+CI/CD 만으로 작업하는 것이 아닌, Kubernetes 등과 조합하여 배포/운영하는 경우가 대부분입니다. Kubernetes에서는 기본적으로 롤링 업데이트나 롤백 등의 작업이 지원되기 때문에, 간단하게 이전 버전으로 돌아가는 작업이 가능합니다.
추가 질문사항 있으시면 글 남겨 주세요.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
CommitAndRun님께서 질문하신 내용은 DevOps 환경에서 굉장히 중요한 문제로, 롤백 전략이라고 합니다. 만약 배포된 버전에서 문제가 발생했을 때 이전 안정된 버전으로 되돌리는 방법에 대해 문의하신 것으로 보입니다.
이는 일반적으로 다음과 같은 방법으로 해결할 수 있습니다:
버전 관리: 모든 배포는 특정 버전 관리 시스템(Git 등)으로 추적 및 관리되어야 합니다. 이를 통해 어떤 버전이 안정적인지 파악할 수 있고, 롤백 시 특정 커밋 또는 태그를 기준으로 이전 버전으로 돌아갈 수 있습니다.
CI/CD 파이프라인 설정: Jenkins 같은 CI/CD 툴을 사용하여 특정 버전으로 되돌리는 작업을 자동화할 수 있습니다. 예를 들어, Jenkins에서 특정 환경에 대해 특정 버전을 자동으로 배포하도록 설정할 수 있습니다.
엔서블 사용: 엔서블을 사용해 롤백을 자동화할 수 있습니다. 이전 버전의 애플리케이션 구성을 플레이북으로 관리하고, 문제가 있을 시 자동으로 해당 플레이북을 실행하여 이전 버전으로 돌아갈 수 있습니다.
컨테이너 시스템 사용: Docker나 Kubernetes 같은 컨테이너 기반 시스템을 사용하고 있다면, 이전에 잘 동작하던 이미지로 간단히 롤백할 수 있습니다.
아래와 같은 관련 질문들도 참고하시면 도움이 될 것 같습니다:
질문에 대한 보다 구체적인 방향 설정이 필요하실 경우, 실질적인 사례나 현업에서의 경험을 바탕으로 지식공유자에게 문의하시면 더 많은 정보를 얻으실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.