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

민이님의 프로필 이미지
민이

작성한 질문수

Jenkins를 이용한 CI/CD Pipeline 구축

실습26) Jenkins를 이용하여 Ansible 서버에 배포하기

실습26) Jenkins를 이용하여 Ansible 서버에 배포하기 - 질문있습니다.

작성

·

62

·

수정됨

0

제가 도커나 클라우드 운영 경험은 전혀없습니다.

[운영환경]에서는 jenkins에서 war파일만들어서 docker-server에 전달해서 도커 이미지만 만들고, ansible-server에서 docker-server에서 만든 도커 이미지로 컨테이너를 만들어서 실행하는데요.

1) 앞 강좌에서 [로컬환경]에서는 이미지 push하고 pull해서 컨테이너 만들어서 진행했었는데, 운영환경에서는 이런식으로 진행하면 안되나 보죠?

2) 현 강의대로 하면 [운영환경] 에서 docker-server가 10개 라면 jenkins에서 10개 서버에 다 들어가서 이미지 만들어야 하는데... 실제 운영에서 이렇게 운영하는지 아니면 그냥 강좌라서 이런식으로 구성한건지 궁금합니다.

아니면 실제 운영환경이 아니라 AWS에서 개발환경을 이렇게 구성한다는 얘기인가요?

 

감사합니다.

 

 

 

답변 2

0

민이님의 프로필 이미지
민이
질문자

이 강좌에서 제일 기대하고 있던 부분이였는데, 실제 필드에서 어떻게 구성하는지는 알수가 없네요. 아쉽네요.

0

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

Docker와 Ansible을 사용한 CI/CD 파이프라인 구축에 대한 궁금증을 해결해 드리겠습니다.

  1. 로컬환경과 운영환경:

    • 로컬환경에서는 테스트 용도로 Docker 이미지의 push/pull 작업을 통해 컨테이너를 배포하고 실행해 보는 것이 일반적인 방법입니다. 이는 주로 개발 및 테스트 단계에서 사용됩니다.
    • 운영환경에서는 보안 및 네트워크 효율성, 이미지의 크기 관리 등의 이유로 사내 Docker Registry를 통해 관리하거나, Jenkins 및 Ansible을 활용한 중앙집중식 관리로 컨테이너 배포 및 운영을 진행합니다.
  2. 운영환경에서 Docker Server가 10개라면:

    • 현실에서는 여러 서버에 동일한 이미지를 배포하기 위해 일반적으로 중앙 관리 시스템을 사용합니다. Ansible과 같은 툴을 활용하면 여러 서버에 동시에 이미지를 배포할 수 있어, Jenkins와 Ansible의 조합으로 전체 서버에 단일 명령으로 실행할 수 있는 효율적인 방법을 사용할 수 있습니다.
    • 따라서 강의에서는 교육 목적으로 기본적인 배포 접근 방법을 설명하고 있는 것이며, 실제 운영 환경에서는 더 효율적인 방식으로 확장된 배포 방식을 사용하게 됩니다.

아래의 링크들은 Jenkins와 Ansible을 사용하여 여러 서버에 컨테이너를 배포하는 방법, 운영환경에서의 접근 방법에 대한 질문과 답변을 포함하고 있으니 참고하시면 좋겠습니다:

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

민이님의 프로필 이미지
민이

작성한 질문수

질문하기