前言
本文章主要介绍Jenkins的下载及安装,以及能够自动化的在windows服务器上部署springboot项目。在部署项目总会涉及到一些bat脚本、openssh和一些windows服务相关内容。
一、Jenkins下载及安装
Jenkins官网地址下载:https://www.jenkins.io/
进入官网后直接点击download进入下载页面,选择LTS稳定版本,在下载时根据自己需要部署的Jenkins环境下载相应的版本。由于我是要部署在windows系统中所以下载windows版本。
得到Jenkins安装包,根据提示选择部署的端口号安装即可。
安装完成后在windows服务中启动Jenkins,根据提示登陆并注册账号。
下载Jenkins推荐插件后,需要额外在Jenkins的插件管理下载一个Publish Over SSH插件
二、Jenkins使用
1.系统配置
- 在系统配置中设置你需要部署的服务器路径及其相关信息,在Passphrase填写你所连接的SSH Severs的公钥
- 点击高级选择使用Use password authentication, or use a different key,并填写服务器密码
- 最后点击Test Configuration测试配置是否正确
注意:在配置windows服务器时需配置SSH链接
- 下载OPENSSH(https://github.com/PowerShell/Win32-OpenSSH/releases),进入链接下载最新 OpenSSH-Win64.zip(64位系统),解压至C:\Program Files\OpenSSH
- 打开cmd,cd进入C:\Program Files\OpenSSH(安装目录),执行命令:
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
- 设置服务自动启动并启动服务:
sc config sshd start= auto
net start sshd
2.全局配置
- Maven配置:设置settings.xml文件路径
- JDK
- Git
- Maven安装:选择打包项目使用的Maven路径
三、Jenkins部署
-
新建一个item,创建一个项目民名称,并选择自由项目
-
在源码管理中配置打包需要获取的源码的git地址,以及分支。在添加凭证时根据你的需要可以使用账号密码获取,或者时SSH类型获取。
当选择用户名密码方式连接时只需要填写用户名和密码即可
选择SSH连接时,填写上诉中OpenSSH生成的公钥 -
构建触发器,根据你的需要选择合适构建项目
-
构建环境,由于我的springboot项目在windows时部署成服务,所以我在发布构建之前,先写了一个停止服务的bat脚本
@echo off
echo stop service start...
net stop HomeinnWorkOrder
echo stop service end...
echo backup start...
if %time:~0,2% leq 9 (set hour=0%time:~1,1%) else (set hour=%time:~0,2%)
move D:\JavaApp\HomeinnWorkOrder\HomeinnWorkOrder.jar D:\JavaApp\HomeinnWorkOrder\backup\HomeinnWorkOrder-%date:~10,4%%date:~4,2%%date:~7,2%%hour%%time:~3,2%%time:~6,2%.jar
echo backup end...
exit
- 构建
- 构建后操作
@echo off
echo start service start...
net start HomeinnWorkOrder
echo start service end...
exit
到这里一个基本的项目构建配置就完成了,最后根据需要直接Build Now就可以实现自动化部署。
总结
一、在使用Jenkins部署windows服务器时需要做很多额外的配置,例如OpenSSH、Winsw等。
二、我在windows服务器上部署springboot项目是使用Winsw工具将项目做成windows服务启动,提高项目运行的稳定性,具体可以参考我的使用Winsw部署springboot的文章。