2014-01-19 2 views
5

Я делаю все возможное, чтобы это сделать, когда я иду, поэтому не стесняйтесь указывать любые и все глупые вещи, которые вы видите. Я установил Tomcat 7 (на машине под управлением OS X Mavericks) и изменил порт с 8080 на 80, поэтому я могу просто использовать http://localhost/app.Ошибка HTTP 401 при попытке развертывания приложения Spring через Gradle и Jenkins на сервере Tomcat 7

Все вышеописанное функционирует должным образом, если я просто отбрасываю свой .war файл в каталог /webapps. Затем я загрузил Jenkins и поместил его .war файл в /webapps, а также предоставил мне доступ к веб-интерфейсу по адресу http://localhost/jenkins.

Мой план состоял в том, чтобы использовать Дженкинса, чтобы вытащить мое репо из битбакета, построить его, а затем развернуть его на сервере Tomcat. Клонированию и строительные участки работают без сбоев, но развёртывание это другая история ...

Вот бревно из Дженкинс:

:processResources 
:classes 
:war 
:assemble 
:compileTestJava UP-TO-DATE 
:processTestResources UP-TO-DATE 
:testClasses UP-TO-DATE 
:test UP-TO-DATE 
:check UP-TO-DATE 
:build 

BUILD SUCCESSFUL 

Total time: 14.437 secs 
Build step 'Invoke Gradle script' changed build result to SUCCESS 
Deploying /var/root/.jenkins/jobs/MyApp/workspace/build/libs/workspace.war to container Tomcat 7.x Remote 
ERROR: Publisher hudson.plugins.deploy.DeployPublisher aborted due to exception 
org.codehaus.cargo.container.ContainerException: Failed to redeploy [/var/root/.jenkins/jobs/MyApp/workspace/build/libs/workspace.war] 
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:195) 
    at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:64) 
    at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:90) 
    at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:77) 
    at hudson.FilePath.act(FilePath.java:914) 
    at hudson.FilePath.act(FilePath.java:887) 
    at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:77) 
    at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:47) 
    at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:785) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:757) 
    at hudson.model.Build$BuildExecution.post2(Build.java:183) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:706) 
    at hudson.model.Run.execute(Run.java:1703) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) 
    at hudson.model.ResourceController.execute(ResourceController.java:88) 
    at hudson.model.Executor.run(Executor.java:231) 
Caused by: java.io.IOException: Server returned HTTP response code: 401 for URL: http://localhost/manager/text/list 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1626) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:504) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:622) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:635) 
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:176) 
    ... 16 more 
java.io.IOException: Server returned HTTP response code: 401 for URL: http://localhost/manager/text/list 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1626) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:504) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:622) 
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:635) 
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:176) 
    at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:64) 
    at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:90) 
    at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:77) 
    at hudson.FilePath.act(FilePath.java:914) 
    at hudson.FilePath.act(FilePath.java:887) 
    at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:77) 
    at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:47) 
    at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:785) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:757) 
    at hudson.model.Build$BuildExecution.post2(Build.java:183) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:706) 
    at hudson.model.Run.execute(Run.java:1703) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) 
    at hudson.model.ResourceController.execute(ResourceController.java:88) 
    at hudson.model.Executor.run(Executor.java:231) 
Finished: FAILURE 

Если бы я был догадаться, я бы сказал, что проблема лежит в моем tomcat-users.xml файле , Я пробовал каждую комбинацию и перестановку ролей, пользователей и т. Д., Которые были предложены в другом месте. Только для справки, вот как оно выглядит сейчас:

<?xml version='1.0' encoding='cp1252'?> 
<tomcat-users> 
    <role rolename="manager-script”/> 
    <user username="tomcat" password="s3cret" roles="manager-script”/> 
</tomcat-users> 

Любая помощь была бы принята с благодарностью. Большинство других вопросов касаются плагинов Maven и т. Д., Но даже просеивание через те, которые не дают мне реальных решений.

+0

Я не знаком с плагином разворачивания jenkins, но в соответствии с документацией он использует груз, а для груза вы должны указать удаленный пользователь и пароль. Вы указали параметры? –

+0

Кроме того, попробуйте добавить еще одну роль для своего пользователя: admin-script и, возможно, менеджер-gui. Кроме того, можете ли вы проверить URL-адрес своего браузера, ваши учетные данные отлично работают в браузере? –

+0

@ Вадим Кирильчук, спасибо за ответ. Я указал параметры в файле 'tomcat-users.xml'. Как ни странно, когда я добавляю 'manager-gui' в качестве роли, я получаю ошибку 403. Есть ли другое место для их определения? – jonstaff

ответ

0
401 means "Unauthorized". 
  1. Попробуйте проверить свои учетные данные.
  2. Последний раз, когда я раскрываю мое приложение к Tomcat7 я использую эту ссылку:

    localhost/manager/text/html 
    
  3. Вы можете развернуть это приложение без Дженкинс только с помощью Gradle?

  4. Очень простое (временное) решение (если вы развертываете приложение на том же компьютере) должно копировать войну в Tomcat $ {catalina.home}/webapps. Когда война копируется, Tomcat расширяет ее до желаемого URL. Затем вам нужно перезапустить, чтобы убедиться, что все кеши ясны.
0

В моем случае нам просто пришлось обновить плагин разворачивания Jenkins.

Смежные вопросы