git插件安装

进入菜单"jenkins>系统管理>管理插件>可选插件",在右侧搜索栏输入"Git Plugin",也可以搜索安装"GitHub plugin"或"SVN Publisher plugin"

但事实上我下载安装时一直报错

java.io.IOException: Could not find JSON in http://updates.jenkins-ci.org/update-center.json?id=default&version=2.16

下载到hpi文件到jenkins主目录下的plugins,同时要下载依赖插件,例如git plugin依赖bouncycastle-api和git client(在控制台安装失败时,可以看到要安装的依赖插件),才能安装成功。

$ cd /var/lib/jenkins/plugins

$ wget http://mirror.xmission.com/jenkins/plugins/git/latest/git.hpi

然后重启jenkins,登录jenkins,进入“jenkins>系统管理>管理插件>已安装”,可以看到Git plugin已成功安装。再重新进test-build-job配置,源码管理已经出来git。最后回到plugins目录把.hpi文件删除。

接下来将jenkins master的公钥添加到git服务器上,公钥在/var/lib/jenkins/.ssh/id_rsa.pub,生成公钥可参考Jenkins slave节点机器配置

创建连接git的credentials,创建请参考Jenkins控制台slave配置

maven安装配置

接下来安装maven

$ cd /usr/local

$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

解压

$ tar -zvxf apache-maven-3.3.9-bin.tar.gz

进入菜单“jenkins>新建”

配置jdk和maven settings.xml路径

创建一个在java master上用maven打包项目的job

进入菜单“jenkins>新建>构建一个自由风格的软件项目”

进入配置,根据情况配置历史构建保存的天数和个数,指定jdk以及执行该job的机器,这里指定了master

git配置,填写git项目地址和上一节提到的credentials,我要部置的项目分支是master

maven配置,以及maven构建完成后,执行脚本将war包放到目录/var/lib/jenkins/userContent,插件Copy To Slave Plugin会从该目录下载war包到slave

脚本还包含一个备份功能,将userContent下的war包名称添加日期后缀进行重命名,同时检查war包个数,超过10个时删除最旧的那个

最后在构建完成后,配置要触发的另一个job,这个job用来下载master机器的war包到和个slave节点,并执行tomcat重启。同时指定构建失败后要发送邮件的邮箱,以空格隔开

第一个job完成

创建下载war包到slave节点并完成tomcat重启的job

进入菜单“jenkins>新建”,选择构建一个多配置项目

进入配置,general和上一个job类似

配置需要部署的slave节点

指定下载war包的目录,这块需要先安装插件copy-to-slave

下载完成后,执行发布脚本。先从工作空间取出war包到tomcat的war存放目录,我这里配置的是/www/web,同时做一个备份。然后先关闭tomcat,保证杀死tomcat进程,然后删除tomcat root目录,再启动tomcat

最后同样可以配置job执行失败的邮件通知

邮件通知配置

需要先安装插件Email Extension Plugin,进入菜单“jenkins>系统管理>系统设置>邮件通知>高级”,设置用于发送邮件的邮箱和密码

整过部置过程结束

注意点

部署过程涉及到的文件和程序都应该为jenkins用户所拥有或者有相关权限,不然会报权限错误;

slave 80端口只能由root占用,所以这里tomcat用8080启动,然后在root安装nginx,将请求转发到8080,后续有时间再写写相关实践。

git maven 一键部署_Jenkins实现一键部署maven项目相关推荐

  1. 利用Docker一键部署若依前后端分离项目详细教程

    本文内容,主要介绍一下,在Linux服务器中如何利用Docker一键部署若依前后端分离项目. 若依前后端分离版本开源地址:https://gitee.com/y_project/RuoYi-Vue 目 ...

  2. 华为虚拟一键部署服务器,服务器一键部署

    服务器一键部署 内容精选 换一换 部署提供可视化.一键式部署服务,支持并行部署和流水线无缝集成,实现部署环境标准化和部署过程自动化.本节通过以下五步介绍如何使用部署服务将项目代码部署到云主机上.第一步 ...

  3. jenkins的热部署_Jenkins+tomcat自动发布的热部署/重启及遇到的问题解决办法(推荐)...

    一.背景 公司的项目一直手动maven打包.上传服务器.关闭/开启tomcat,整个流程下来耗时耗力,虽然可以将所有流程通过shell脚本一次性解决,但如果可以通过idea的Jenkins插件一键自动 ...

  4. jenkins部署_Jenkins:部署JEE工件

    jenkins部署 随着持续集成和持续交付的出现 ,我们的构建被分为不同的步骤,以创建部署管道. 这些步骤中的一些步骤可以是例如编译和运行快速测试,运行慢速测试,运行自动验收测试或发布应用程序等. 部 ...

  5. 阿里云code结合git管理代码,运用webHook同步部署服务器代码(php)

    项目场景: 阿里云code结合git管理代码,运用webHook同步部署服务器代码(php) 问题描述: git生成密钥时linux用户为root,php运行用户是www.结果导致在服务器端git p ...

  6. Git(Gitee)之 SSH环境部署,并使用 SSH 地址下载代码

    目录 Git(Gitee)之 SSH环境部署,并使用SSH 地址下载代码 一.GIt 二.下载安装Git 三.SSH 配置 四.SSH 地址下载代码 Git(Gitee)之 SSH环境部署,并使用SS ...

  7. Asura监控系统部署,阿修罗监控部署

    Asura监控系统部署 一. 系统环境 1. java 2. tomcat 3. redeis 4. mysql数据库 5. mvn打包工具 目前我运行的环境是Centos7.3,作者为方便使用已经将 ...

  8. java部署工具下载_Walle部署工具-Walle(开源部署工具)下载 v2.0.1官方版--pc6下载站...

    Walle开源部署工具是一款免费开源的上线部署平台,Walle开源部署工具支持各种web代码发布,php.java等代码的发布.回滚可以通过web来一键完成.walle更人性化,高颜值,支持git.多 ...

  9. python一键安装神器_一键安装python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 去年有出一个python整的lamp自动安装,不过比较傻,直接调用的yum 去安 ...

最新文章

  1. 微软正式提供Visual Studio 2013正式版下载(附直接链接汇总)
  2. 2019-04-15 Python之利用matplotlib和numpy的简单绘图
  3. 计算机编程导论python程序设计答案-学堂在线_计算机科学与Python编程导论_作业课后答案...
  4. 进出仓原理_你问我答 | 球磨机组成和工作原理?
  5. Shell数组相关操作
  6. WEB前端大神之路之基础篇
  7. 【转】VS技巧—任务列表Task List(ToDoList)
  8. 采用Angular勾画SVG圆环形进度条
  9. 【英语学习】【Level 07】U06 First Time L1 My very first trip
  10. 职场上个人的核心技术_职场上,靠谱比聪明更重要:如何做一个靠谱的人
  11. PHPOffice下PHPWord生成Word2007(docx)使用方法
  12. php动态添加属性,php – Yii2.动态添加属性和规则到模型
  13. android 加载动画下载,AVLoadingIndicatorView
  14. 抖音取关-autojs
  15. java常见面试题总结2
  16. linux 释放内存
  17. AJAX 请求 NIDE 搭建简单服务
  18. iOS 开发人才市场饱和了吗?
  19. python进行随机数据生成——Faker的使用
  20. 【计组】字长、数据总线、地址总线

热门文章

  1. LeetCode-剑指 Offer 50. 第一个只出现一次的字符
  2. C++工程中初步使用QML
  3. 浅谈主动学习(Active Learning)
  4. 【机器学习算法-python实现】矩阵去噪以及归一化
  5. 【ssh从零单排】eclipse和tomcat整合配置
  6. gradle本地、远程仓库配置--转
  7. 使用MAT(Memory Analyzer Tool)工具分析dump文件--转
  8. nginx 学习笔记(5) nginx调试日志
  9. public class UserServiceImpl extends ServiceImpl UserMapper, User implements UserService
  10. 人工智能靠人工:标注员1天要听1000条录音