(五)、使用Jenkins自动拉代码并上传服务器

安装必要的插件:Publish Over SSH、Maven Integration plugin

1.     安装插件Publish overSSH


2.     安装插件MavenIntegration plugin


3.     JDK和Maven环境变量设置

JDK配置


如果jdk已经安装了,直接引用就可以了。(在cmd中输入:java -verbose,命令行的最后,显示的就是jdk安装的路径)

Maven配置

如果Maven已经安装了,直接引用就可以了。(在cmd中输入:mvn -version,命令行有显示Manven安装的路径);如果未安装Maven请参考“二、    Maven3.5.3安装与配置”

4.     配置服务器参数


SSH Server Name:选择系统设置中已添加的SSH服务器
Transfer Set Source files:需要上传到应用服务器的文件(注意:相对于工作空间的路径,可填写多个,默认用逗号分隔)
Remove prefix:去掉前缀(只能指定Transfer Set Source files中的目录)
Remote directory:可选的目标文件夹。如果文件夹不存在,会创建文件夹。
Exec command:在远程服务器将要执行的命令。在远程SSH传输执行后,才执行这里的脚本命令
高级选项:
Exclude files:排除的文件(在传输目录的时较有用,使用通配符,例如:/*.log,/*.tmp,*.txt/)
Pattern separator:分隔符(配置Transfer Set Source files的分隔符)
No default excludes:禁止默认的排除规则
Make empty dirs:此选项会更改插件的默认行为。默认行为是匹配该文件是否存在,如果存在则创建目录存放。选中此选项会直接创建一个目录存放文件,即使是空目录。
Flatten files:只上传文件,不创建目录(除了远程目录)
Exec timeout (ms):运行脚本的超时时间(毫秒)
Exec in pty:模拟一个终端执行脚本
Add Transfer Set:增加一个传输配置
Remote directory is a date format:远程目录建立带日期的文件夹(需要在Remotedirectory中配置日期格式),具体格式参考下表:

Remote directory

Directories created

‘qa-approved/’yyyyMMddHHmmss

qa-approved/20101107154555

‘builds/’yyyy/MM/dd/’build-${BUILD_NUMBER}’

builds/2010/11/07/build-456 (if the build was number 456)

yyyy_MM/’build’-EEE-d-HHmmss

2010_11/build-Sun-7-154555

yyyy-MM-dd_HH-mm-ss

2010-11-07_15-45-55

5.     配置SVN账号

1)   进入配置目录

2)   配置账号信息

6.     创建任务

注:只有安装Maven Integration plugin插件,才能有“构建一个maven项目”的选项

7.     配置

1)   General

2)   源码管理

3)   构建触发器

4)   构建环境

5)   Pre Steps

6)   Build

Goals and options填写:cleaninstall -Pqa  -Dmaven.test.skip=true

Pom.xml路径与配置:

7)   Post Steps



8)   构建设置

9)   构建后操作

如果先升级后想发邮件通知组内成员,这里可以配置“Editable Email Notification”

8.     问题

1)   解决Jenkins配置时遇到的Jenkins needs to know where your Maven is installed问题

在配置Jenkins某个项目时,本地Maven安装好了,可是仍然提示Jenkins needsto know where your Maven is installed. 如下图所示:

解决办法:

若是高版本的Jenkins,例如2.58版本:

返回面板-系统管理-Global Tool Configuration-Maven-Maven安装,设置MAVEN_HOME,注意不要勾选“自动安装”。

2)   /和\不一致,要注意配置用“/”


3)   tomcat路径不要有中文,避免无法识别


4)   少依赖关系

猜你喜欢

转载自blog.csdn.net/glongljl/article/details/80227594