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

shake_sphere님의 프로필 이미지
shake_sphere

작성한 질문수

Jenkins를 이용한 CI/CD Pipeline 구축

실습3) Tomcat 서버에 배포하기

jenkins war 빌드된 파일을 tomcat 서버에 배포하기에서 질문이 있습니다.

작성

·

1.1K

0

안녕하세요 강의 정말 잘 듣고 있는 수강생입니다. 좋은 컨텐츠의 강의 제공해주셔서 감사합니다.

질문이 있는데요. My-Third-Project에서 jenkins war 빌드 후 로컬 tomcat에 배포하는 부분에서 젠킨스 item 설정에 빌드 후 조치에서 궁금한 점이 있었습니다.

deploy war/ear to container 설정에서 Tomcat URL 설정하는 부분에서 mac os의 ifconfig로 확인해보니 172.x.x.x:8088로 나왔습니다.

이게 사실 와이파이 내부의 private ip라고 이해했고 처음에는 와이파이 외부 공인 ip주소를 입력해서 설정했었는데요. 그렇게 하니까 Connection refused 나오면서 배포 실패가 나오더라구요.

172.x.x.x 로 지정해서 빌드해보니 배포 성공이 나오긴했었는데요. 로컬에서 실행한 docker 컨테이너 내의 jenkins 서버에서 로컬의 tomcat 서버 주소를 와이파이의 private ip로 설정하는 이유가 무엇인지 궁금했습니다.

답변 1

1

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

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

실습하신 환경을 요약하면 Jenkins 서버는 도커로 기동하고, Tomcat 서버는 MacOS에 직접 설치하여 기동 중이라고 하고 답변드리겠습니다.

Tomcat서버를 로컬에서 직접(MacOS) 기동하시건, 도커 컨테이너로 기동하시건 상관없이, 로컬의 웹 브라우저에서 접속되는 IP address이어야 합니다. 다만, localhost 로 접속하였을 때도, 웹 브라우저에서는 연결이 되더라도, Jenkins 서버에서 localhost로 연결 할 경우에는 Tomcat서버가 설치된 PC(또는 VM)을 가리키는 것이 아니라, Jenkins 서버 자신이 됩니다. 따라서, Jenkins 서버에 Tomcat 서버가 설치되어 있지 않는 이상 접속 오류가 발생하게 될 겁니다. 따라서, Jenkins 서버에서도 Tomcat 서버에 접속하기 위해 해당 PC의 IP Address를 사용하시는 것이 좋습니다. MacOS에서 ifconfig 명령어로 IP address를 확인하셨다면, 웹 브라우저에서 해당 IP:8080으로 접속이 되었다면, Jenkins서버에서도 접속이 되셨을것 같습니다.

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

감사합니다.

shake_sphere님의 프로필 이미지
shake_sphere

작성한 질문수

질문하기