因项目是前后端完全分离,因此使用Jenkins构建项目将分为两篇来写,本篇为使用Jenkins自动构架后端项目(maven项目),并自动打包发布,具体操作如下:

1. 访问Jenkins地址,如:127.0.0.1:8080,登录后进入Jenkins首页

2. 点击新建任务,输入任务名称,选择“构建一个自由风格的软件项目”,添加描述信息,选择项目运行节点(可限制)

3.选择Git,输入git上项目路径,输入分支名称(如:*/dev),并选择相应的凭证

4. 因本人项目是根据git变化触发,因此没有选择定时或轮询SCM(可支持quartz表达式),可根据项目需要自行配置

5. 这一步骤比较重要,构建脚本调用、部署都在该步实现。需要编写相关的windows批处理命令(项目部署在windows环境,Linux环境需编写shell脚本),然后保存即可

附上图代码:

set PROJECT_NAME=mare-device-management-dev
set BUILDSPACE=D:\jenkins\workspace\%PROJECT_NAME%
set SERVICE_NAME=mare-device-management
set SERVICE_VERSION=1.0.0
set EXECSPACE=D:\exec\%SERVICE_NAME%
call %WORKSPACE%\deploy\windows-undocker\deploy.bat %BUILDSPACE% %EXECSPACE% %SERVICE_NAME% %SERVICE_VERSION%
rmdir /s/q %WORKSPACE%

6. 上述脚本会调用Jenkins所在服务器下,项目中的deploy.bat脚本,脚本位置、内容如下:

deploy.bat脚本文件内容:

::set PROJECT_NAME=项目名称
::set BUILDSPACE=D:\jenkins\workspace\%PROJECT_NAME%
::set SERVICE_NAME=服务名称
::set SERVICE_VERSION=1.0.0
::set EXECSPACE=D:\exec\%SERVICE_NAME%
::call %WORKSPACE%\deploy\windows-undocker\deploy.bat %BUILDSPACE% %EXECSPACE% %SERVICE_NAME% %SERVICE_VERSION%
::%1=编译目录BUILDSPACE,%2=执行目录EXECSPACE,%3=服务名SERVICE_NAME,%4=服务版本号,具体变量值通过jenkins调用deploy.bat传入,如上述示例所示。cd /d %1
call mvn clean
call mvn packagecd /d %2
net stop %3
%3 uninstall
del /F /S /Q  %3.jar
del /F /S /Q  %3.xml
del /F /S /Q  %3.exe
xcopy /Y %1\target\%3-%4.jar   %2
xcopy /Y %1\deploy\windows-undocker\%3.xml %2
xcopy /Y %1\deploy\windows-undocker\%3.exe %2ren %2\%3-%4.jar %3.jar
%3 install
net start %3

PS: bat脚本文件中调用的*.xml、*.exe为winsw(winsw是可以将windows中任何一个程序注册为服务的工具),具体使用方法可参考:https://blog.csdn.net/blvyoucan/article/details/81131234

Jenkins自动构建(CI/DI)项目(一)相关推荐

  1. jenkins自动构建VUE前端项目

    前端环境安装, 可以看我上一篇文章 链接: link Git安装, 可以官网下载tar.gz包, https://github.com/git/git/releases, 然后命令解压 tar -zx ...

  2. Jenkins自动构建部署项目

    1. 楔子 在实际开发中,经常需要编译.静态代码检查.自动化测试.打包.部署.启动等一连串重复机械的动作,浪费时间.而且容易出错,而Jenkins就是专门Continuous integration( ...

  3. P8-07-16 使用 Jenkins 自动构建 Maven 项目

    创建一个项目 从 gitee 上随便拉一个项目,这里我们使用Zrlog项目进行测试.测试项目地址: https://gitee.com/94fzb/zrlog?_from=gitee_search 导 ...

  4. 实战:向GitHub提交代码时触发Jenkins自动构建

    当我们提交代码到GitHub后,可以在Jenkins上执行构建,但是每次都要动手去执行略显麻烦,今天我们就来实战Jenkins的自动构建功能,每次提交代码到GitHub后,Jenkins会进行自动构建 ...

  5. Linux+Jenkins自动构建服务器包

    何时使用: 测试过程中我们需要持续构建一个软件项目,为避免重复的手动下载.解压操作,我们需要搭建一个能够自动构建的测试环境,当代码有更新时,测试人员只需点一下[构建]即可拉取最新的代码进行测试(也可设 ...

  6. 码云Webhook触发Jenkins自动构建 - Jenkins演练(一)

    今天自己看着插件文档摸索了一下,实现了git push后Webhook自动触发Jenkins进行代码构建,可通用gitlab.github等平台,中文关于这方面自动部署的文档比较少,所以把我的学习过程 ...

  7. jenkins自动构建部署vue

    文章目录 简介 1.jenkins安装 1.1.安装JDK 1.2.安装jenkins 1.3.配置jenkis的端口 1.4.启动jenkins 1.5.打开jenkins 2.发布vue项目 2. ...

  8. git log 获取构建时间_Docker 运行 Jenkins 自动化构建 .NET Core 项目

    (给DotNet加星标,提升.Net技能) 转自:ZKEASOFTzkea.net/codesnippet 目标 当代码提交到GitHub后,自动生成构建项目并部署到服务器. 接下来介绍一下如何在容器 ...

  9. gitlab hook触发jenkins自动构建

    意义,gitlab推送或合并代码后触发jenkin自动构建发布代码或者执行命令推送规则 1.安装gitlab和hook插件 有时需要重启jenkins服务,可能兼容性问题,安装完之后构建中看不到hoo ...

最新文章

  1. 12层也能媲美ResNet?邓嘉团队提出最新力作ParNet,ImageNet top1精度直冲80.7%
  2. python目标识别代码_利用ImageAI库只需几行python代码超简实现目标检测
  3. CSS图片重叠效果~秒懂
  4. SDL2源代码分析6:复制到渲染器(SDL_RenderCopy())
  5. Ubuntu16.04装机5:安装Anaconda3
  6. 2017微信小程序全套源代码 最新 最全 好用
  7. 答对10个算我输,示波器基础100问
  8. MySQL驱动jar包的下载--保姆教程
  9. 深度剖析微信小程序搜索的排名机制
  10. 黑苹果驱动_黑苹果怎么更新驱动程序?
  11. java 立体几何体中心点_高中数学知识点大全,立体几何核心考点及解题技巧
  12. python中base函数_详细的python basemap中各函数的所有参量注释
  13. 论文阅读|Embodied Hands: Modeling and Capturing Hands and Bodies Together
  14. 程序员应该使用的键盘中英文切换设置
  15. 纯css svg 改变图片颜色 ios android 小程序
  16. html人物属性代码,辐射4初始人物超强属性代码一览
  17. C/C++编程学习 - 第14周 ⑦ 多边形内角和
  18. c语言课题设计题目猜数字游戏,C语言课题设计报告(猜数字游戏)文档.doc
  19. UG NX 12 视图布局
  20. JAVA设计模式十七--Composite(组合模式)

热门文章

  1. vscode代码拼写检查插件的使用(超详细)
  2. 从零开始建立机械臂URDF模型
  3. 系统集成项目管理工程师计算题(进度管理计算)
  4. 詹姆斯高斯林_詹姆斯·高斯林(James Gosling):Oracle的表现“令人惊讶的是” 用Java
  5. 【深挖字符串操作】·万字总结,这些知识点你真的懂了吗?
  6. Environment.SpecialFolder的值的含义(本地打印)
  7. Java实现简单的KFC点餐系统(未实现可视化)
  8. lio-sam框架:点云匹配之手写高斯牛顿下降优化求状态量更新
  9. Java基础-简聊类与对象
  10. 我的k8s随笔:Kubernetes 1.17.0 部署