Jenkins windows环境自动部署

因为都没有关于在windows上面部署Jenkins测试的demo,刚上全是针对Linux 或者是Cent OS的,这里主要讲怎样配置好在windows上面自动部署,需要准备:

1、Jenkins安装,网上的安装教程很多(很多):

如何安装主程序和maven需要的插件
如何配置github钩子

上面两个例子我也是自己百度的,是怎样安装,需要什么样的插件,我这里因为懒,而且只是做demo,所以没必要,像什么ssh,什么阿里云的就不搞了

要注意的是github配置的钩子这里用到的url一定要是公网可以访问的

重点来了

1、关于windows 设置让Jenkins不要杀掉程序产生的衍生进程,需要在Jenkins的安装路径,这个在安装 Jenkins 的时候指定的路径:

Jenkins安装目标
在这里插入图片描述

在这一行加上这个参数配置: -Dhudson.util.ProcessTree.disable=true 为什么要这样设置,查看官方说明

2、Post Steps 配置:

在这里插入图片描述

@echo on & setlocal EnableDelayedExpansion
rem kill port
set obj[0]=8085
set port=0
set pid=0
for /f "usebackq delims== tokens=1-2" %%a in (`set obj`) do (
    set port=%%b
    for /f "tokens=5" %%m in ('netstat -aon ^| findstr "0.0.0.0:%%b"') do (
        set pid=%%m
    )
    if "!pid!"=="0" (
        echo 端口号【!port!】没有占用
    ) else (
        echo 端口号【!port!】相关进程以杀死
        taskkill /f /pid !pid!
    )
    set pid=0
)

BUILD_ID=dontKillMe
rem jar包路径
set TARGET_PATH=C:\Windows\system32\config\systemprofile\AppData\Local\Jenkins\.jenkins\workspace\jenkins-demo\target
rem 运行路径
set BIN_BATH=D:\Dev\Work\Project\jenkins\bin
rem 文件名
SET JAR_FILE=jenkins-demo.jar
rem 复制源jar到运行环境
COPY %TARGET_PATH%\%JAR_FILE% %BIN_BATH%
rem 创建一个start.bat文件来用作后台运行
echo set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m > %BIN_BATH%\start.bat
echo java -Dhudson.util.ProcessTree.disable=true -jar %JAVA_OPTS% %BIN_BATH%\%JAR_FILE% -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 --server.port=8085 >> %BIN_BATH%\start.bat
rem 启动
start %BIN_BATH%\start.bat /b

3、我试过了,因为是后台运行了,console控制台也没有了,那看不到运行情况可是很麻烦的一件事情,这里可以通过写日志来知道一些运行情况,或者程序里面自己再做预警机制,如果不额外指定日志路径就不能正确的写日志,为此,你需要在\bin 文件夹下面建一个config文件夹来存放项目配置文件:

在这里插入图片描述
在这里插入图片描述
这里要注意,一定要指定这个logback-spring.xml文件,如果不指定仍然是不能正常的写日志。。。具体原因我也没搞懂
在这里插入图片描述
这样,只要我们一提交项目到github github就会发个指令告诉 Jenkins 可以接取代码了
然后Jenkins会把代码拉下来,build完成后,先杀掉之前的进程,然后再把打包好的jar包复制到运行路径,启动更新后的jar,每次提示都进行这个操作!

Done~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值