jenkins教程

jenkins教程

1. 首先去jenkins官网下载jenkins war文件,https://jenkins.io/download/

2. 使用tomcat运行war文件,这里使用apache-tomcat-7.0.85-windows-x64.

    笔者的运行环境如下:

   jenkins tomcat : windows 7(本机)

   eclipse : 本机

  svn服务器 : 阿里云A

  tomcat部署环境: 阿里云B (Linux ubuntu)

 3. 本机已安装maven,jdk

4. 打开jenkins运行界面,url类似于 http://127.0.0.1:8080/jenkins.

  

      首次打开时会弹出以上界面.按要求复制密码即可.首次安装不建议开始的时候就修改密码,防止自己不知道密码无法打开.如果需要修改密码,可以等安装完全结束以后,再进行修改.

5. 安装推荐的插件

    

5.1 安装过程中可能有一些失败,可以不进行处理.

   

6. jenkins已就绪.

  

7. 此时会进入jenkins的主界面.

   

此时第一阶段的安装工作已经完成.

===========================================================

8. 此时我们先不新建任务,先进行全局配置.

    点击 系统管理->全局工具配置.

    这里需要配置 maven 的apache-maven-3.5.0\conf\settings.xml文件位置.

   配置jdk,注意要取消自动安装.

 

9.进行 全局安全配置

   

10. 点击创建一个新任务

   

这里需要输入一个任务名称,例如ssm2

然后选择构建一个自由风格的软件项目.

 11.  填写项目名称

     

12. 配置 源码管理

     这里主要是配置svn路径 和用户名密码,

      先选择 Subversion-> Modules.

   Repository URL填入项目svn地址.

   通过下方的Credentials Add添加 svn用户名 和 密码.

  Check-out Strategy这里选择 Use 'svn update' as much as possible.

  13. 构建触发器

      勾选 Poll SCM,日程表表单 填入 H/5 * * * *

  14. 构建环境

    14.1 选择 Execute Windows batch command.

     命令填入 copy /Y D:\resources\db.properties %WORKSPACE%\src\main\resources\db.properties

      这个命令的作用是从svn检出代码后替换资源文件为服务器上应该使用的配置.

     14.2 选择 Invoke top-level Maven targets

    Goals填入 clean package -Dmaven.test.skip=true

   保存以后这里会自动分行.

    

15. 由于后续我们需要安装插件,这里暂时先保存一下.

16. 选择 系统配置->管理插件

     选择 可选插件 搜索 container,这个插件的全名是 Deploy to container

    这个插件可能位于下方,请向下滚动,仔细找一找.

   

.17. 安装tomcat部署插件.

      

18. 还有一个插件 与上面的插件功能等同,安装一个即可,插件名称为: Publish Over SSH,可以搜索publish.

19. 此时多了两个插件

    

20. 构建后的操作

     20.1 tomcat插件

     由于tomcat插件需要一个用户名密码,这个需要在部署服务器tomcat conf/tomcat-users.xml里配置.

    这里仅需要配置 manager-script角色即可.但建议 manager-gui也配置上.

    

     20.2 ssh插件的配置

       

     

这里有一个报错,但实际未发现有影响.

21. 配置完 保存

22. 点击 立即构建.

==============================================================

构建过程中可能会有以下错误:

1. 数据库未使用远程数据库导致部署服务器数据库无法访问

2. 阿里云安全组限制了8080端口.需要通过控制台设置允许对应的端口.

3. maven打包时未打包必要的资源文件,导致项目报错.

可以通过 控制台 输出 查看详细错误信息.

 我这边由于 项目有错误,导致jenkins报错:

[INFO] WEB-INF\web.xml already added, skipping
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.529 s
[INFO] Finished at: 2018-03-09T20:53:26+08:00
[INFO] Final Memory: 21M/206M
[INFO] ------------------------------------------------------------------------
Deploying C:\Users\Administrator\.jenkins\workspace\ssm2\target\icessm.war to container Tomcat 7.x Remote with context /icessm
  Redeploying [C:\Users\Administrator\.jenkins\workspace\ssm2\target\icessm.war]
  Undeploying [C:\Users\Administrator\.jenkins\workspace\ssm2\target\icessm.war]
  Deploying [C:\Users\Administrator\.jenkins\workspace\ssm2\target\icessm.war]
ERROR: Build step failed with exception
org.codehaus.cargo.container.ContainerException: Failed to deploy [C:\Users\Administrator\.jenkins\workspace\ssm2\target\icessm.war]
	at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.deploy(AbstractTomcatManagerDeployer.java:106)
	at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:184)
	at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77)
	at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147)
	at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117)
	at hudson.FilePath.act(FilePath.java:1009)
	at hudson.FilePath.act(FilePath.java:987)
	at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114)
	at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93)
	at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64)
	at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
	at hudson.model.Build$BuildExecution.post2(Build.java:186)
	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
	at hudson.model.Run.execute(Run.java:1752)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:97)
	at hudson.model.Executor.run(Executor.java:429)
Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The Tomcat Manager responded "FAIL - Deployed application at context path /icessm but context failed to start
" instead of the expected "OK" message
	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:715)
	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deployImpl(TomcatManager.java:761)
	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deploy(TomcatManager.java:312)
	at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.deploy(AbstractTomcatManagerDeployer.java:101)
	... 18 more
org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The Tomcat Manager responded "FAIL - Deployed application at context path /icessm but context failed to start
" instead of the expected "OK" message
	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:715)
	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deployImpl(TomcatManager.java:761)
	at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deploy(TomcatManager.java:312)
	at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.deploy(AbstractTomcatManagerDeployer.java:101)
	at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:184)
	at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77)
	at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147)
	at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117)
	at hudson.FilePath.act(FilePath.java:1009)
	at hudson.FilePath.act(FilePath.java:987)
	at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114)
	at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93)
	at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64)
	at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
	at hudson.model.Build$BuildExecution.post2(Build.java:186)
	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
	at hudson.model.Run.execute(Run.java:1752)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:97)
	at hudson.model.Executor.run(Executor.java:429)
Build step 'Deploy war/ear to a container' marked build as failure
SSH: Current build result is [FAILURE], not going to run.
Finished: FAILURE

将部署的代码调整正确后,错误消失.

如果jenkins报错,可以 先把jenkins打好的war直接放到本地tomcat看能不能正常运行.

如果不能运行需要查看tomcat logs下的对应日志.

 

转载于:https://my.oschina.net/u/2528964/blog/1632719

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值