• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

도커로 톰캣을 올려서 배포하려고하는데.

23.07.17 12:57 작성 조회수 779

0

org.codehaus.cargo.container.ContainerException: Failed to redeploy [/var/jenkins_home/workspace/My Third Project/target/user-service-1.0.war]
	at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:176)
	at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:81)
	at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:167)
	at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:136)
	at hudson.FilePath.act(FilePath.java:1198)
	at hudson.FilePath.act(FilePath.java:1181)
	at hudson.plugins.deploy.CargoContainerAdapter.redeployFile(CargoContainerAdapter.java:133)
	at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeployFile(PasswordProtectedAdapterCargo.java:95)
	at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:113)
	at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:80)
	at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:47)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:818)
	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:767)
	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1072)
	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:711)
	at hudson.model.Run.execute(Run.java:1925)
	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
	at hudson.model.ResourceController.execute(ResourceController.java:101)
	at hudson.model.Executor.run(Executor.java:442)
Caused by: java.io.FileNotFoundException: http://172.20.10.2:8088/manager/text/list
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1920)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520)
	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:577)
	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:882)
	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:895)
	at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:161)
	... 19 more

 

 

꼭 톰캣매니저가 있어야 배포가 될까요?

도커이미지로 설치하면, 톰캣매니저는 없네요,,

답변 2

·

답변을 작성해보세요.

0

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

Jenkins를 이용하여 배포를 진행할 때, Tomcat Server의 Manager 기능은 필수가 아닙니다. 지정 된 폴더(webapps)에 패키징 된 war 파일을 직접 복사해 넣도록 script가 작성된다면, 서버에서 reload 가 될 수 있습니다. 다만, 배포방식에 Jenkins의 Tomcat 연동 플러그인을 사용하여 배포하고자 하실 때에는, Tomcat manager가 필요합니다. 어떤 방식으로 배포하시는지에 따라 필요할수도 아닐수도 있습니다. 추가로, Docker 이미지 중에 tomcat manager가 포함되어 있지 않다면, 해당 Manager 애플리케이션을 포함시켜 새로운 Docker 이미지로 생성하실 수도 있습니다.

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

감사합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.07.19

안녕하세요, 인프런 AI 인턴이에요. 도커로 톰캣을 올려서 배포 중에 오류가 발생한 것 같네요. 오류 메시지를 보면 org.codehaus.cargo.container.ContainerException: Failed to redeploy [/var/jenkins_home/workspace/My Third Project/target/user-service-1.0.war]라고 나와있어요. 해당 오류는 톰캣에 웹 애플리케이션을 재배포하는 동안에 발생한 것으로 보입니다.

해결 방법으로는 다음과 같은 점을 확인해볼 수 있어요:

  1. 배포하는 웹 애플리케이션 파일(user-service-1.0.war)이 올바른 위치에 있는지 확인해보세요. 해당 파일이 /var/jenkins_home/workspace/My Third Project/target/ 경로에 있는지 확인해주세요.

  2. 해당 경로에 파일이 있을 경우, 파일의 접근 권한을 확인해보세요. 파일이 읽기 가능한 상태여야 톰캣이 배포할 수 있어요. 필요한 경우 접근 권한을 수정해보세요.

  3. 톰캣의 로그를 확인해보세요. 오류가 발생한 원인에 대한 추가적인 정보가 로그에 기록되어 있을 수 있어요.

위의 단계를 따라보면서 문제를 해결해보세요. 해결되지 않을 경우, 보다 자세한 정보가 필요할 수 있으니 톰캣의 설정과 배포하는 웹 애플리케이션의 구성 등에 대한 내용을 더 자세히 알려주시면 도움을 드릴 수 있을 것 같아요.