jenkins maven 自动远程发布到服务器,钉钉提醒团队
jenkins 自动远程发布到服务器
1.安装jenkins
安装过程:自行百度
英文不好的,不要装最新版的jenkins。建议安装Jenkins ver. 2.138.4,此版本可以设置中文语言,设置如图

2.安装主要插件
系统管理 > 插件管理,在可选插件中,搜索插件

1)Publish Over SSH
Send build artifacts over SSH
用于上传发布构建之后的war、jar包等资源,然后执行服务器脚本命令,功能很强大
2)Dingding[钉钉] Plugin

安装钉钉通知的插件。用于构建完成之后的消息通知。
3.配置环境
插件安装完成之后,需要配置环境。
1)系统管理>系统设置

- Hostname:主机地址(ip或者域名)
- Port:端口号
- Root Repository Path:连接之后的默认目录
- User Name:用户名
- Password/Passphrase:密码秘钥
2)系统管理>全局工具配置
配置maven信息:
设置setting文件

设置maven安装目录

配置JDK
配置jdk安装目录

4.创建job
1)创建一个Job,名为MyTestJob
任务名称可以自定义,选择构建【构建一个自由风格的软件项目】

2)构建设置
如果磁盘空间小,这里可以设置自动删除策略。如图设置,表示保留2天的构建,最多2个

3)源码管理
本地使用的SVN,所以以SVN为例。

Repository URL: SVN的资源地址,路径直接到项目路径【本文演示的也是maven项目】如:项目名称为myProject,那么svn地址就要写到myProject,https://192.168.1.XXX:XXX/svn/XXX/XXX/myProject
Credentials: 先添加个SVN账号,点add

ID设置一个唯一的,其他就是用户名密码。
设置完成之后,就可以下拉选择

其他的就默认
4)构建触发器
定时构建: 不管SVN或Git中数据有无变化,均执行定时化的构建任务 ;
轮询SCM: 只要SVN或Git中数据有更新,则执行构建任务;
构建语法说明:
格式为:* * * * (五个星);
第一个表示分钟,取值0~59
第二个表示小时,取值0~23
第三个表示一个月的第几天,取值1~31
第四个表示第几月,取值1~12
第五个表示一周中的第几天,取值0~7,其中0和7代表的都是周日
使用举例
每隔10分钟构建一次:H/5 * * *
每隔1小时构建一次: H H/1 *
每月30号构建一次: H H 30 *
定时构建和轮询SCM使用互不冲突,可以需要根据项目情况配置。我这里测试环境使用【轮询 SCM】已经能满足需求。每五分钟检查一次svn更新,如有更新则进行构建。

5)构建
其实构建之前可以设置构建环境,可以根据项目需要去设置。
基于maven可以使用maven进行构建

Maven 版本: 选择之前配置的maven版本
目标: 设置maven构建语句【不用写mvn】

配置完maven信息之后,新增ssh配置:

上传服务器文件路径说明:
最终上传到服务器的文件路径为:
系统设置里的Remote Directory + 构建里的 Remote Directory + Source files
如图即为:A + C + B

Source files: 相对于workspace目录,其实也就相当于在myproject目录下,maven构建之后,会在该目录下生成target目录,所以此处可以填写target\XXX.war
Remove prefix: 移除Source files的前缀。填写target 如果删除target的话,最终上传的时候也会带着target目录
Remote Directory: 在系统设置里的Remote Directory 下,生成此处的Remote Directory目录
Exec command: 上传之后执行的命令行,可以在服务器制作sh脚本,比如停止tomcat,拷贝war包到tomcat,然后启动tomcat。
此处命令后期可以在补充上。
6)构建后操作
当然jenkins自动帮我们发布了,我们不可能时时刻刻都盯着jenkins控制台,我们需要它提醒我们,我们可以选择配置邮件提醒等等,为了方便,我们可以使用钉钉通知。
钉钉群设置

创建个团队钉钉群,在钉钉群设置里添加【群机器人】,点击添加

选择自定义,设置完头像和名称

之后会得到一个url
https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXX
access_token参数下面设置需要使用
钉钉通知设置
新增构建后操作,选择订单通知。

jenkins URL: 输入当然jenkins的访问地址
钉钉access token:即为钉钉群机器人的url中的access_token参数
其他的就是选择钉钉机器人提醒的时机。添加完成之后,jenkins构建就会及时提醒团队成员。
jenkins maven 自动远程发布到服务器,钉钉提醒团队的更多相关文章
- 使用 svn+maven+jenkins(hudson)+Publish Over SSH plugins 构建持续集成及自动远程发布体系(转)
1.安装jenkins 2.浏览器访问jenkins主页 http://192.168.0.1:8080/,点击“系统管理” 3.在插件管理中,安装Publish Over SSH插件 4.在系统设置 ...
- Jenkins安装配置 远程发布SpringBoot项目
环境要求: Java : 1.8.0_161. Maven :http://maven.apache.org/download.cgi 3.6.1 下载完解压,配置环境变量:vim /etc/prof ...
- Jenkins使用SSH远程发布
远程发布需要安装Publish Over SSH插件 比如我们的应用服务器都是通过tomcat用户启动程序,因此,在jenkin服务器上配置免密登录远程服务器tomcat用户 //生成密钥对 ssh- ...
- 一、Jenkins 安装(自动构建发布)
war 包方式安装 官方下载地址:https://jenkins.io/download/ ,下载war包,并上传到服务器(案例中是把war包放在了 /usr/local/jenkins 里面) 运行 ...
- Jenkins+maven+Tomcat配置发布
jenkins大多数情况下都是用来部署Java项目,Java项目有一个特点是需要编译和打包的,一般情况下编译和打包都是用maven完成,所以系统环境中需要安装maven. 实验环境: 10.0.0.1 ...
- Jenkins部署到远程(Linux服务器)
接着上次的说,上次只是实现了本地自动化部署,这种情况只是针对开发环境和部署环境在同一台机器时适用.不过,一般情况下,我们都会要把项目部署到远程Linux服务器上,所以这节的主要内容是: 1.部署开发环 ...
- Maven: 自动远程部署
1. 在settings.xml中的Servers节点中增加Server的登录信息: <server> <id>deploy_server_65</id> < ...
- Jenkins+tomcat自动发布的热部署/重启及遇到的坑解决办法
一.背景 公司的项目一直手动maven打包.上传服务器.关闭/开启tomcat,整个流程下来耗时耗力,虽然可以将所有流程通过shell脚本一次性解决,但如果可以通过idea的Jenkins插件一键自动 ...
- eclipse通过maven远程发布应用到Tomcat
好久没有写博客了,今天为大家分享一下如何在eclipse通过maven远程发布应用到Tomcat. 一般情况下,我们发布应用到服务器需要现将应用导出成war包,然后连接服务器部署更新,这样是很耗时的, ...
随机推荐
- objectid.go源码阅读
)) } // func), ), ), ), ])<<])<<)]) } //获取])<<])<<])<<]), //转化为十进制的int ...
- BZOJ_3944_Sum_杜教筛
BZOJ_3944_Sum_杜教筛 Description Input 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 Output 一共T行,每 ...
- Postman-----将 A 请求中 response Body 中的参数值传入到下一个请求 B 的 request body 中作为参数发送请求
问题:将A接口中response body的"id"传入到B接口的request body中. 解决办法: 1.在A接口的test中设置环境变量. 代码:var data = JS ...
- 从零开始学 Web 之 CSS(三)链接伪类、背景、行高、盒子模型、浮动
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...
- CentOS7搭建本地YUM仓库,并定期同步阿里云源
CentOS7同步阿里云镜像rpm包并自建本地yum仓库 系统环境 # cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) # u ...
- 神奇的Scala Macro之旅(四)- BeanBuilder
在Java开发中,经常会有一个需求,将一个 Bean 复制到另外一个 Bean,尤其是在后台分层的场景下,在不同的层之间传递信息,经常需要进行 这样的一个对象复制工作,类似于: val source: ...
- java游戏开发杂谈 - java编程怎么学
java语言包含很多的知识点,我们并不需要把java语言的知识点都学全了,才开始编程. 你只需要了解: 1,java的数据类型和变量定义 2,类和对象的初步印象. 3,if-else, wh ...
- JavaScript引用类型之Array类型API详解
Array类型也是ECMASCRIPT中最常见的数据类型,而且数据的每一项可以保存任何类型的数值,而且数组的大小是可以动态调整的,可以随着数据的添加自动增长以容纳新的数据.下面,总结数据的一些常用方法 ...
- SpringCloud学习系列之一 ----- 搭建一个高可用的注册中心(Eureka)
前言 本篇主要介绍的是SpringCloud相关知识.微服务架构以及搭建一个高可用的服务注册与发现的服务模块(Eureka). SpringCloud介绍 Spring Cloud是在Spring B ...
- 学习python的第二天
4.26自我总结 一.程序语言 1.机械语言 由于0和1组成 优点:执行效率快 缺点:操作麻烦繁琐 2.汇编语言 比机械语言好点 优点:比机械语言操作方便 缺点,执行慢 3.高级语言 主要两个,jav ...