jenkins 定期自动拉取svn代码,maven打包,脚本运行开启后台服务

背景

小公司,作为开发,每天都去给实习生开启一个服务。日子久了感觉有点浪费时间,于是花些时间研究Jenkins,实现自动更新部署服务。

环境

windows 系统 ; 后台框架是springboot ,使用maven打包成jar再用脚本启动。

jenkins配置

准备工作

  • 安装直接略过;默认插件安装;
  • 必要的几个插件,如果没有安装的话,从插件管理中去下载安装。
    Maven Integration : maven插件,用于编译打包。
    Subversion : svn插件,用于从svn服务器自动更新工程。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    搜索–勾选–下载安装。
    在这里插入图片描述
  • 全局配置
    maven及jdk配置。
    在这里插入图片描述
  • 增加全局凭据
    增加svn账号,用于从svn更新。
    在这里插入图片描述

建立项目

  • 在首页新建Item,输入项目名称,选择Maven项目。
    在这里插入图片描述

在这里插入图片描述

  • 源码管理
    录入svn工程地址。
    选择svn账号。
    在这里插入图片描述
  • 构建触发器
    定时任务设置,表达式是Cron表达式。我这里定时是工作日早上8:40,周六早上9:10。上班时间,大家懂的。
    在这里插入图片描述
  • build
    在这里插入图片描述
  • post steps
    启动前先杀死指定端口。
    在这里插入图片描述
    拿来的脚本。
@echo off & setlocal EnableDelayedExpansion

title 杀死端口

for %%a in (8080) do (
    set pid=0
    for /f "tokens=2,5" %%b in ('netstat -ano ^| findstr ":%%a"') do (
        set temp=%%b
        for /f "usebackq delims=: tokens=1,2" %%i in (`set temp`) do (
            if %%j==%%a (
                taskkill /f /pid %%c
                set pid=%%c
                echo 端口号【%%a】相关进程以杀死
            ) else (
                echo 不是本机占用端口【%%a】
            )
        )
    )
    if !pid!==0 (
       echo 端口号【%%a】没有占用
    )
)

echo 操作完成

exit

最后运行包。
在这里插入图片描述

其他

已经稳定运行几周了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值