您的位置:首页 > 运维架构 > Tomcat

Windows上部署Jenkins遇到的问题

2017-05-30 22:31 507 查看
构建后操作时

WAR/EAR files
相对于工作空间的相对路径,也可以写“Ant-style GLOBs”表达式,如:**/*.war,“Ant-style GLOBs”暂时还没有弄明白是什么,经测试可以按如下形式写:source/target/*.war或source/target/yiqifa-adcenter-web.war,建议以“**/*.war”形式填写。
如本文中使用的Jenkins的工作空间为/data/jenkins,job名称为hyf-test-deploy-plugin,则这里的路径是相对/data/jenkins/hyf-test-deploy-plugin的(其中source是在job中指定的源码存放目录,视设置确定需不需要加上这个目录)
如果所有配置都正确,在Jenkins的控制台会看到如下图的提示:
deploy的输出
其中“hyf-test-deploy-plugin”为Jenkins的job名称。
Context Path
应用在Tomcat中的部署路径,如上图,部署后可以通过 http://172.16.18.192:8080/base-service  来访问部署的应用
add container
增加容器,一般选tomcat 7X就可以。这里的username与password需要到tomcat的conf文件夹中的tomcat-users.xml修改。tomcat
URL就是你希望把war包部署到的tomcat所在IP地址,最后面不需要再加斜杠/。

    deploy on failure
                发生错误的时候是否发布到tomcat
tomcat-users.xml
中的用户名及密码默认是注释掉的,所以需要删除注释,也可以直接复制以下代码到</tomcat-users>之前。如果只是删除注释的话好像部署不会成功,还需要增加manager开头的三个role才可以。

1
<
role
 
rolename
=
"manager-gui"
/> 
2
<
role
 
rolename
=
"manager-script"
/> 
3
<
role
 
rolename
=
"manager-jmx"
/> 
4
<
role
 
rolename
=
"manager-status"
/> 
5
<
user
 
username
=
"tomcat"
 
password
=
"123456"
 
roles
=
"manager-gui,manager-script,manager-jmx,manager-status"
/>
Manager user name/Manager password
在“修改Tomcat管理用户配置”中配置好的用户名和密码
Tomcat Url
运程Tomcat的访问路径,如上图中的http://172.16.18.192:8080,插件通过这个地址将应用的war/ear包上传到Tomcat的webapps目录下
Add Container
在这里可以继续增加其他的容器,这样就可以实现将应用同时部署到不同的容器中。
注意事项

运行Job进行部署前要先启动运程机上的WEB容器,插件需要通过容器提供的接口将war包发布到容器下
如果遇到“Deployed application at context path /xxx but context failed to start”这样的异常请到远程机的WEB容器下查看日志
如果遇到“Connection refused”的异常请检查远程机的容器是否启动、端口是否设置正常,不同的容器配置方式不一样,请参考相应容器的配置文档
如果遇到“403/401 for URL: http://172.16.18.192:8090/manager/text/list”,请检查远程机上是否存在Job中的Manager user name处添加的用户以及权限和密码设置是否正确



如果,此时我的

WAR/EAR files
的参数值为trunk/target/material-library-0.0.1-SNAPSHOT.war
,test是我建立的Jenkins部署项目的名称,之后的就应该是我所需要的相对地址了

自动化结果打印

Waiting for Jenkins to finish collecting data
[JENKINS] Archiving C:\Users\wpf\.jenkins\workspace\test\trunk\pom.xml to com.root.wt/material-library/0.0.1-SNAPSHOT/material-library-0.0.1-SNAPSHOT.pom
[JENKINS] Archiving C:\Users\wpf\.jenkins\workspace\test\trunk\target\material-library-0.0.1-SNAPSHOT.war to com.root.wt/material-library/0.0.1-SNAPSHOT/material-library-0.0.1-SNAPSHOT.war
channel stopped
Deploying C:\Users\wpf\.jenkins\workspace\test\trunk\target\material-library-0.0.1-SNAPSHOT.war to container Tomcat 7.x Remote
Redeploying [C:\Users\wpf\.jenkins\workspace\test\trunk\target\material-library-0.0.1-SNAPSHOT.war]
Undeploying [C:\Users\wpf\.jenkins\workspace\test\trunk\target\material-library-0.0.1-SNAPSHOT.war]
Deploying [C:\Users\wpf\.jenkins\workspace\test\trunk\target\material-library-0.0.1-SNAPSHOT.war]
Finished: SUCCESS


有个疑惑:就是官网下载的tomcat中webapps文件下的都不能删除,一旦删除,就无法打包完成 了?很奇怪。

会报

Deploying C:\Users\wpf\.jenkins\workspace\test\trunk\target\material-library-0.0.1-SNAPSHOT.war to container Tomcat 7.x Remote
ERROR: Build step failed with exception
org.codehaus.cargo.container.ContainerException: Failed to redeploy [C:\Users\wpf\.jenkins\workspace\test\trunk\target\material-library-0.0.1-SNAPSHOT.war]
at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:193)
at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:73)
at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:116)
at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:103)
at hudson.FilePath.act(FilePath.java:996)
at hudson.FilePath.act(FilePath.java:974)
at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:103)
at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:61)
at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
at hudson.model.AbstractBuild$AbstractBuildExecu
c91f
tion.perform(AbstractBuild.java:779)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:720)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1067)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:665)
at hudson.model.Run.execute(Run.java:1753)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:544)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:405)

无法部署

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息