Jenkins自动化部署(Windows服务器)

Jenkins自动化部署(Windows服务器)

背景:

一直部署SSM项目,每次都是 在tomcat的webapps目录下,将项目压缩成zip格式压缩包,拷贝的windows服务器的tomcat的webapps目录下,解压缩,覆盖,启动tomcat。每次都是这样,很苦逼。最近不是很忙,用一天时间搞了一下自动部署,只是将整个流程自动化了。html

使用工具:Jenkins + Maven + Git + freesshd(Windows搭建ssh和sftp工具) + Tomcatgit

首先介绍一下思路:web

  • 1.本地git 获取最新的代码
  • 2.覆盖必要的文件(如:spring-shiro.xml 由于个人开发环境使用的shiro文件与生成环境使用的shiro文件不一致。)
  • 3.本地执行maven命令打成war包
  • 4.经过sftp相关工具 将war包上传到服务器
  • 5.管理服务器上的Tomcat,备份以前的项目(能够根据日期),覆盖新的war包
  • 6.tomcat启动

其实这不是最好的方法,你们也都知道,博客大佬们都是 在服务器上获取最新代码,打包,测试,部署。不须要经过本地将war包上传到服务器。后面在尝试这种方式。spring

接下来回归正题:apache

jenkins的下载和安装。

jenkins官网地址: jenkins.io/download/windows

下载的话,能够选择下载war包或者windows的msi格式。下载msi格式能够省去不少麻烦的步骤。并且自动会做为windows服务存在。tomcat

下载war的话,就须要jenkins.war 放到tomcat的webapps目录下。服务器

msi安装的话,基本上都是傻乖式安装,一路next就行。app

jenkins.war 形式直接启动tomcat 就行。ssh

接下来第一次访问,须要安装一些插件,直接选择默认的便可,之后须要插件能够在单独安装。

等待插件安装完成

设置admin帐户

freesshd 安装

安装Window提供的SSH服务的软件,直接看这个连接就OK了 jingyan.baidu.com/article/f7f…

须要特殊注意的一个地方,点击 user 添加用 时候 ,SFTP这一项必需要打上勾,由于咱们 须要 经过SFTP 将本地 文件上传到 windows 服务器。

jenkins 插件 Publich overSSH

咱们经过Public overSSh 插件 将本地window 和 windows服务器链接起来。

1.首先是安装插件 ,选择 系统管理 -> 插件管理

在可选插件 中搜索,找到,安装便可,安装完,从新启动jenkins

2.而后再系统管理下 -》 找到 系统设置,拉到最下面,配置 Publish over SSH

若是点击Test 失败,可能缘由 SFTP 没有链接通,这个必定要打开。

搭建

  1. 在jenkins 建立一个job,

2.点击 advanced , 配置工做空间

  1. 这里点击构建 ,执行windows批处理命令

填写window命令

f: 进入Fcd \ 进入F盘根目录 cd software\lowrisk_product\CMS-master 进入该文件夹 copy CMS.properties F:\software\lowrisk_product\CMS-master\CMS\build\dev\resources\properties 覆盖文件 copy spring-context-shiro.xml F:\software\lowrisk_product\CMS-master\CMS\src\main\resources\spring 覆盖文件 cd CMS 进行项目文件夹 mvn clean install package 打包 复制代码

这里,没有显示从git获取最近代码,实际上这个操做,我经过ide完成了。我配置git的每次都把以前删除了,而后在clone,这样很慢,因此没用。

3..在项目中的构建后操做,增长构建后操做步骤,选择send built artifact over SSH选项

远程服务器的目录是指的:

远程服务器上的脚本:

@echo off

set JAVA_HOME=E:\app\jre\jre8
E: cd \ cd app\appserver\apache-tomcat-7.0.82\bin ::关闭tomcat call shutdown.bat cd .. cd .. :: set SourceFile=E:\app\appserver\apache-tomcat-7.0.82\webapps\CMS.war if exist %SourceFile% ( :: 备份文件,并删除 cd cms_version ::删除当前文件夹下全部文件 rd /s/q %date:~0,4%%date:~5,2%%date:~8,2% :: 建立日期文件夹 mkdir %date:~0,4%%date:~5,2%%date:~8,2% ::备份文件 copy E:\app\appserver\apache-tomcat-7.0.82\webapps\CMS.war %date:~0,4%%date:~5,2%%date:~8,2%\CMS.war ::删除旧文件 del E:\app\appserver\apache-tomcat-7.0.82\webapps\CMS.war ::复制新文件 copy C:\Users\Administrator\app\CMS\CMS.war E:\app\appserver\apache-tomcat-7.0.82\webapps ) else ( ::复制新文件 copy C:\Users\Administrator\app\CMS\CMS.war E:\app\appserver\apache-tomcat-7.0.82\webapps ) :: 删除文件 del C:\Users\Administrator\app\CMS\CMS.war :: 休眠40秒 ping 127.0.0.1 -n 40 >nul E: cd \ cd app\appserver\apache-tomcat-7.0.82\bin :: 启动tomcat call startup.bat 复制代码

4.而后在通知上能够 选择 钉钉通知器配置

点击完成,保存,。点击构建便可。

相关文章
相关标签/搜索