Jenkins 自动部署
一、安装插件【系统管理 → 插件管理 】
为了通过SSH上传war包,我们需要安装Publish Over SSH 插件。
二、添加SSH 服务器【系统管理→系统设置】

参数说明:
Name:ssh server的名字,随便写,意义明确,到时候选择的时候,下拉框显示的就是这个名字
HostName:远程服务器的IP地址,不用带端口号
UserName:登陆服务器的用户名
Remote Directory:远程服务器的目录,用来存放build完的war包,这里填写tomcat的安装目录即可
Use password authentication, or use a different key:默认是未勾选的,这是登陆服务器的方式,一种是使用用户名密码,另外一种是需要在服务器上生成证书key之类的,为了图方便这里我勾上了。
Passphrase / Password:填上服务器的密码即可。
其他选项保持默认,然后保存。
三、新建项目

填写项目名,选择一种工程类别,我默认选择了第一个。
四、配置项目
点击进入项目,在右边的菜单里点击配置。填写项目名称和描述,这些基本的就不说了。
在源码管理,选择代码的来源,我选择了Git

Credentials:选择一个你在代码管理网站的用户,第一次是空的,点击右边的ADD,填写用户名密码,就可以选择了。
接下来,我认为是最重要的一步。

在构建环境上勾选第一个和【Send files or execute commands over SSH after the build runs】,然后在Name上选择之前添加过的SSH server
接下来,Transfer set,设置文件传输时的一些参数。
Source files:文件源,就是在Jenkins机器上的root/.jenkins/workspace/项目名/,这是根目录(项目名就是你之前在Jenkins新建的项目),这个根目录下的war包路径
比如:root/.jenkins/workspace/myproject/a/b/c.war,那么Source files填写a//b/c.war即可。
那么,我怎么知道我的全路径是什么呢,大家可以不配构建环境,在上一步的git地址配好以后,直接去build,构建完以后构建的信息里会有相关的路径输出。
Remove prefix:去掉source files的路径,比如之前是a/b/c.war,那么我如果填写a/b/,那么最后只会把c.war传输到目标文件下面。
Remote directory:这是war包传输到远程服务器上的路径,但是由于之前在配置SSH Server的时候已经配置了一个Remote directory(tomcat 安装目录),
所以默认如果不填,那么就是ssh server的目录,如果填的话,那么就会在ssh server的directory下去查找/生成。
这里我填写的是wars,用来存放备份包的地方,你也可以直接填/webapps
Exec Command:这个是填写shell命令,在你把war包传完以后,会去执行这里的命令。
我这里填写了一个,sh脚本,放在root下面,war包传输完成以后,会去执行这个sh脚本。
sh脚本:
#!/bin/sh
export JAVA_HOME=/usr/java/jdk1.8.0_144
#找到tomcat进程,并杀死
kill -9 $(ps -aef | grep tomcat-admin | grep -v grep | awk '{print $2}')
cd /home/tomcat/tomcat-admin/wars/ #将传上来的war包拷贝到tomcat的webapps下面
cp -f ROOT.war ../webapps/ROOT.war #重命名当前(wars下)的包名,作为备份
mv ROOT.war ROOT_`date +%Y%m%d%H%M%S`.war sleep 5s #重启tomcat
cd /home/tomcat/tomcat-admin/bin/
./startup.sh
五、点击保存,然后回到项目界面,点击立即构建即可。
Jenkins 自动部署的更多相关文章
- Jenkins自动部署Tomcat项目
Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:
- 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建
使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 目录 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 使用jenkins自动 ...
- 使用Jenkins自动部署博客
title: 使用Jenkins自动部署博客 toc: true comment: true date: 2017-12-17 19:48:10 tags: ['Jenkins', 'CI'] cat ...
- 内存溢出导致jenkins自动部署到tomcat失败
原文地址:http://openwares.net/java/jenkens_deploy_to_tomcat_error_of_outofmemoryerror.html jenkins自动部署wa ...
- jenkins自动部署代码到多台服务器
下面讲一下如何通过一台jenkins服务器构建后将代码分发到其他的远程服务器,即jenkins自动部署代码到多台服务器. 1.下载 pulish over ssh 插件 2.系统管理 -> 系统 ...
- 关于gitlab+jenkins自动部署代码的实现
本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...
- Jenkins自动部署spring boot
Jenkins自动部署spring boot 背景介绍 本公司属于微小型企业,初期业务量不高,所有程序都写在一个maven项目里面,不过是多模块开发. 分了login模块,service模块,cms模 ...
- 持续集成之Jenkins自动部署war包到远程服务器
一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...
- Jenkins自动部署增加http状态码校验
公司推进Jenkins自动化部署,因为web站点都是集群部署,部署需要测试指定服务器web服务是否成功启动,页面是否正常访问,经过不断baidu发现,python的request模块可以很好的解决这一 ...
- jenkins自动部署tomcat
关于部署的3种思路: 远程部署(jenkins编译部署到远程服务器): 安装ssh插件 ssh插件配置 添加远程jenkins服务器节点: 本地部署(与jenkins在同一服务器): 关于maven构 ...
随机推荐
- Mnesia动态添加节点杂记
FAQ List: 1. 如果动态的添加一个节点到Mnesia cluster中 2. 如何动态的从mnesia cluster中删除一个节点 3. 在一个节点上演示将当前已有的表格分片fragmen ...
- 5432. 【NOIP2017提高A组集训10.28】三元组
题目 题目大意 给你\(X+Y+Z\)个三元组\((x_i,y_i,z_i)\). 然后选\(X\)个\(x_i\),选\(Y\)个\(y_i\),选\(Z\)个\(z_i\). 每个三元组只能选择其 ...
- 解决MySQL登录密码正确却提示错误-1045的方法
MySQL密码正确却无法本地登录-1045 Access denied for user 'root'@'localhost' (using password:YES MySQL密码正确却无法本地登录 ...
- Hbase和Hive在大数据架构中处在不同位置
先放结论:Hbase和Hive在大数据架构中处在不同位置,Hbase主要解决实时数据查询问题,Hive主要解决数据处理和计算问题,一般是配合使用.一.区别:Hbase: Hadoop database ...
- php 即点即改
html代码 <td><span id="list_order">{$vo.list_order}</span> </td> < ...
- FFmpeg Download
https://ffmpeg.zeranoe.com/builds/
- 凑出和相等的k组数,玄学结论——hdu6616
[1,n]n个数分成k组,每组n/k个,问k组数和相等的解决方案 首先(1+n)*n/2判定一下是否可以被k整除 n/k为偶数时显然成立 n/k为奇数时每组数前三个很难配,我想了一种玄学的结论,也证明 ...
- mysql 导出导入数据 -csv
MySql数据库导出csv文件命令: mysql> select first_name,last_name,email from account into outfile 'e://output ...
- CSS:CSS 实例
ylbtech-CSS:CSS 实例 1.返回顶部 1. CSS 实例 CSS背景 设置页面的背景颜色 设置不同元素的背景颜色 设置一个图像作为页面的背景 错误的背景图片 如何在水平方向重复背景图像 ...
- 10、 导出python脚本进行数据驱动的接口测试
postman自带脚本导出功能,对于代码小白来说,可以不错的学习代码级接口测试 第一步:输入接口地址,点击send 第二步:点击code,导出脚本文件,为python脚本 第三步:安装python3以 ...