jenkins 安装 maven JDK

1. 在安装了基本配置的那些插件后, 需要再安装两个插件: 

Maven Integration plugin 

Publish Over SSH

2. 配置JDK, Maven, Git

(1)Manage Jenkins --> Global Tool Configuration

 

(2)使用jenkins自带的jdk(系统信息里面找到路径)

 

 

(3)设置本地Maven的安装路径(若不使用本地已有的Maven, 可选中Install automatically, Jenkins会自动安装)

(4)设置Maven自定义配置文件的路径

(5)设置本地Git的exe路径(若不使用本地已有的Git, 可选中Install automatically, Jenkins会自动安装)

3. 配置SSH

(1)Manage Jenkins --> Configure System 在页面中找到Publish over SSH, 点击Add按钮, 然后点击Advanced...按钮并在Use password authentication, or use a different key前面打钩, 填写如下内容: 

<1>name: SSH连接的名称

<2>Hostname: 远程服务器IP

<3>Username: 远程服务器用户名

<4>Remote Directory: 这个是相对于远程服务器的路径, 具体项目中的SSH配置还需要填写Source files, Remote Directory, Remove prefix这三项, Jenkins会通过这几个配置得出最终文件上传后远程服务器中文件的路径. 参考第5(5)<4>步.

<5>Passphrase/Password: 远程服务器密码

<6>Path to key: 远程服务器SSH秘钥路径

<7>Port: 远程服务器SSH连接端口号

4. 新建Maven项目

(1) New Item

(2) 选择Maven Project, 填写Jenkins项目名称, 点击OK

5. 项目配置说明

(1)Description: 项目描述

(2)Source Code Management: 配置代码管理

<1>使用Git

填写URL, 用户名, 密码, 分支, Jenkins会在安装目录下的workspace目录下一个文件夹, 文件夹名称为当前Jenkins项目的名称, 这个文件夹下存放所有下载的代码. 

<2>使用SVN

Local module directory: 用来指定代码存放路径, 这个与Git有所区别, 若不填, 则存放位置与Git类似, 若填写, 则为默认路径的相对路径. 例如: Jenkins安装目录为: C:\Program Files (x86)\Jenkins, 当前Jenkins项目名称为blogs, Local module directory为: all, 则最终代码存放路径为: C:\Program Files (x86)\Jenkins\workspace\blogs\all

(3) 自动部署触发器

<1> 可以不设置, 每次手动点击按钮进行一键部署

<2> 可以在上面的各种情况下设置部署, 上图选择的是通过Poll SCM定时部署, H/24 * * * *代表每24小时部署一次, 下面还会显示上一次部署时间和下一次部署时间.

<3> 也可以通过安装如Github plugin等插件实现每次版本控制器有代码提交, 就自动部署, 但正式环境不建议这么干. 

(4) 配置pom文件路径与Maven执行命令(Root POM也可以是相对路径)

(5) 通过SSH上传文件至远程服务器并执行备份等操作

在Post-build Actions的下拉框中选择Send build artifacts over SSH

SSHServer的配置如下:

<1>Name: 下拉框选择第3步配置的SSH服务器

<2>Source files: 指定需要上传到远程服务器的文件相对路径(相对于代码存放路径), 例如: 代码存放路径为: C:\Program Files (x86)\Jenkins\workspace\all, Source files为: oa_jinnan/target/oa_jinnan.war, 则上传前文件的最终路径为: C:\Program Files (x86)\Jenkins\workspace\all\oa_jinnan\target\oa_jinnan.war. 

<3> Remote directory: 参考第5(5)<4>步. 

<4>Remove prefix: 需要移除的目录前缀, 如果设置了此项属性, 则Source files必须以这个目录前缀开头. 

举例说明该属性的作用, 假设配置如下:

  • 系统中SSH配置的Remote directory为: /usr/local/test
  • 当前Jenkins项目SSH配置的Source files为: oa_jinnan/target/oa_jinnan.war
  • 当前Jenkins项目SSH配置的Remove prefix为: oa_jinnan/target
  • 当前Jenkins项目SSH配置的Remote directory为: ../projects/blogs

则最终文件上传后远程服务器中文件的路径为: /usr/local/projects/blogs/oa_jinnan.war.

如果不配置当前Jenkins项目SSH配置的Remove prefix, 则最终文件上传后远程服务器中文件的路径为: /usr/local/projects/blogs/oa_jinnan/target/oa_jinnan.war

<5>Exec command: 文件上传后, 远程服务器要执行的命令

export DATE=$(date "+%Y%m%d_%H%M%S")
sleep 5
cp -rf /usr/local/tomcat/webapps/ROOT /usr/local/bak/oa_$DATE
sh /usr/local/tomcat/bin/shutdown.sh
netstat -apn |grep java |awk '{print $7}' |xargs |awk -F '/' '{print $1}' |xargs kill -9
rm -rf /usr/local/tomcat/webapps/ROOT
cp -rf /usr/local/tomcat/webapps/oa_jinnan/* /usr/local/tomcat/webapps/ROOT
rm -rf /usr/local/tomcat/webapps/oa_jinnan.war /usr/local/tomcat/webapps/oa_jinnan
sh /usr/local/tomcat/bin/startup.sh

可以不用重启Tomcat, 因为Tomcat会自动解压缩, 视需要而定. 

export DATE=$(date "+%Y%m%d_%H%M%S")这一句是用来给备份文件添加年月日时分秒的后缀

备份也可以在文件上传之前执行, 在Pre Steps的下拉框中选择Send files or execute commands Over SSH, 配置方法与上面相同. 

netstat -apn |grep java |awk '{print $7}' |xargs |awk -F '/' '{print $1}' |xargs kill -9这一句代表查出java进程的PID, 然后kill掉. 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值