engineering-management
  • Introduction
  • Git源码管理
    • Git简介及使用场景
    • Windows安装Git
    • Linux安装Git
    • Git命令详解
      • git基本操作命令
      • git远程仓库命令
      • git撤销操作命令
      • git删除本地仓库中所有的.git文件夹
      • git版本回滚命令
      • git分支管理
      • git如何拉取指定分支(远程仓库)代码
      • git合并冲突命令
    • 构建私有仓库
    • 如何利用github/码云进行学习
      • github
      • 码云
    • 详解Git-flow企业级开发流程
  • Maven
    • 概念剖析
    • maven build标签(打入外部jar包、xml配置编译)
    • maven 发布github的release版本
    • maven安装和配置
    • maven命令详解
    • maven仓库
    • 开发常见问题汇总
    • 构建企业级私有仓库Nexus
      • Linux安装Nexus
      • Windows 安装Nexus
    • 大型系统模块化工程管理实践/maven构建多模块项目
    • maven导出项目依赖的jar包
    • maven普通项目转成web项目
    • maven命令创建web项目
    • maven settings配置详解
    • maven scm 用法(SVN 的独有配置)
    • maven修改后的settings.xml文件
    • maven集成Tomcat插件
    • maven集成Tomcat插件(二)
    • maven+tomcat6-maven-plugin 实现热部署及调试
    • maven项目将自研发的依赖包打进Jar文件中
    • maven自定义插件研发
    • maven部署到Tomcat的对应目录如下
    • maven中的MANIFEST.MF文件中的Class-Path中增加当前目录(.)
    • maven如何修改本地仓库与中央仓库
    • maven的<profile>标签,打包不同配置的变量包
    • maven 在idea中依赖包不自动更新问题
  • Sonar代码质量检测平台
    • 常见代码检查工具及规范(PMD、checkStyle)
      • CheckStyle插件安装和使用
    • 构建Sonar环境
    • Sonar+Maven集成代码质量检测工具
    • Sonar代码质量检测报告解析
    • 代码常见质量问题分析
  • Jenkins持续集成
    • DevOps持续集成介绍
    • Jenkins环境构建
      • Jenkins的war包安装
      • Windows安装Jenkins.exe
      • Jenkins关闭和重启
    • Jenkins集成git/svn/tomcat/sonar等
      • Jenkins Tomcat安装设置
      • Jenkins Git安装设置
      • Jenkins Maven安装设置
    • Jenkins插件机制
    • Jenkins自动构建部署maven项目的WEB项目
    • Jenkins部署远程服务器(jenkins+svn+maven)
Powered by GitBook
On this page

Was this helpful?

  1. Jenkins持续集成

Jenkins部署远程服务器(jenkins+svn+maven)

PreviousJenkins自动构建部署maven项目的WEB项目

Last updated 5 years ago

Was this helpful?

1、首先你得有个jenkins部署到服务器上面。关于jenkins如何安装部署百度一大堆,安装很简单,这里就不多讲了。

2、我这边jenkins的版本是2.32.3,不同版本界面略微有所不同,但大体一致

3、登录进去,如下图

4、我们点击左上角的【新建】按钮,出现如下图

按顺序,输入一个名字,自己想好就行,最好要有意义的,方便区别,然后选择构建一个maven项目,然后点击最下面的OK按钮,出现如下图

5、往下翻到源码管理这个地方

我这边工程是在svn上,所以我选择svn,然后输入工程的地址,选择用户,如果第一次进去没有,点击旁边的Add按钮,新增用户密码,这个是svn的用户和密码,用于jenkins自动帮你下载最新代码进行打包。

6、继续往下翻,到最下面的构建后操作。这个操作是关键步骤

选择Send build artifacts over SSH,选择以后出现如下图

这时候选择你要的服务器,这时候是不是发现你没有服务器可以选择,别着急,先看完,后面会讲如何添加远程服务器。

Sourec files这个是配置war包的

Remove prefix这个是移除前缀目录的,主要是我的war包在根目录下面的target下面,所以要移除target这个目录

Remote directory 这个目录要传送war包到目标服务器的目录,这个很关键。

Exec command 这个是要执行的远程脚本目录,主要是用于tomcat的重启,部署,达到自动化部署的目的,如果不写脚本,那就jenkins只能帮你把war包传到目标服务器而已。

然后,然后就点保存,这样就完成了。

7、好了,我们来配置上面说的远程服务器的地址,返回到主页面,选择系统管理-系统设置,如下图

选择系统设置后,出现如下图

然后往下翻,翻到Publish over SSH,如下图

这里就是配置远程服务器的地方。

name:自己随便取,方便记忆就行

Hostname:就是远程服务器的地址

Usename:就是用户名

Remote Directory:这个目录是传输war的最前面的目录。这个很重要,跟上面构建后操作的Remote Directory是会合并到一起的,比如我上面构建后操作中配置的

RemoteDirectory是cstServer_test/tmp,然后这边远程服务器的Remote Directory配置的是/root,那么war包传输过去路径是/root/cstServer_test/tmp目录。

然后密码呢?

别着急,点击旁边的高级就是出现密码输入框,如果是新增的话,点击高级以后还要勾选Use password authentication....这个选项才会出现密码输入框,如下图

好了,到这里就完成远程服务器配置了。刚才如果没配置好,返回去重新配置一下就行了。

8、然后我们来写远程服务器的shell脚本

#!/bin/sh
export JAVA_HOME=/usr/java/jdk1.7.0_75
kill -9 $(ps -aef | grep tomcat/conf | grep -v grep | awk '{print $2}')
cd /app/programs/tomcat_test1/webapps
mv ROOT.war ROOT_`date +%Y%m%d%H%M%S`.war.bak
#rm -rf ROOT
mv  /app/programs/temp/mvcDemo3*-SNAPSHOT.war ROOT.war
cd /app/programs/tomcat_test1/bin
./startup.sh

这个要放在刚才配置的目录下面,就是文件所在的目录要跟刚才配置的Exec command目录一致就行了。

这样就可以开始构建了。如果目录配置都没有问题的话,就能正常自动部署。

参考:

https://blog.csdn.net/huangchao064/article/details/73604980