jenkins持续集成从0入门到实战【六】构建前后推送钉钉消息

简介: jenkins构建集成钉钉群消息推送

消息推送一般有如下几种:企业微信群消息、钉钉群消息、飞书群消息、邮箱提醒、短信提醒

前3种是企业中首选,3种基本差不多,这里我以钉钉群消息推送为例,首选你需要有一个钉钉群,可以自己拉3个人建一个,然后在群管理中加一个机器人,如下:

image.png

添加好后你会得到一个钉钉提供给你的URL链接,主要用来接收消息我的如下:

https://oapi.dingtalk.com/robot/send?
access_token=6cecd1365009eb54f234aca1ff6c5825f40fa10d2943338bd36b4def7ea8eef
//上述key已做混淆

我们先实现最基本的推送,组装如下的内容:

#!/bin/bash
#-*- coding:utf-8 -*-

Message='测试环境 gitee-test-password发布,所有接口受到影响,当前时间:2099-01-01'

curl 'https://oapi.dingtalk.com/robot/send?access_token=6cecd1365009eb54f234aca1ff6c5825f40fa10d2943338bd36b4def7ea8eef' \
   -H 'Content-Type: application/json' \
   -d "
  {\"msgtype\": \"text\", 
    \"text\": {
        \"content\": \"$Message\"
     }
  }"

实际上上述内容非常简单,利用shell的curl命令,远程调用该url,并传入对应的消息body体,body体为钉钉要求的格式,如果不懂钉钉消息推送的同学,可以点此处的链接直达

jenkins的任务中添加shell执行脚本,将内容复制到jenkins

image.png

点击构建,此时可以收到推送的消息

image.png

完善构造的推送信息

#!/bin/bash
#-*- coding:utf-8 -*-
tt = "$(date +%F-%T)"
Message='发布完成\n项目名称:${PROJECT_NAME}\n项目版本号:${version}\n操作类型:$type\n触发时间:$tt\n触发人员:$BUILD_USER'

curl 'https://oapi.dingtalk.com/robot/send?access_token=6cecd1365009eb54f234aca1ff6c5825f40fa10d2943338bd36b4def7ea8eef' \
   -H 'Content-Type: application/json' \
   -d "
  {\"msgtype\": \"text\", 
    \"text\": {
        \"content\": \"$Message\"
     }
  }"

image.png

安装后可拿到的用户信息

Variable Description 说明
BUILD_USER Full name (first name + last name) 全名
BUILD_USER_FIRST_NAME First name 名字
BUILD_USER_LAST_NAME Last name
BUILD_USER_ID Jenkins user ID jinkins 用户ID
BUILD_USER_EMAIL Email address 用户邮箱

在配置项目的时候一定要勾选Set jenkins user build variables

image.png

最终推送代码

#!/bin/bash
#-*- coding:utf-8 -*-

if [ $type = 1 ];then
    typeDesc="发布"
else
    typeDesc="回滚"
fi

pname='\n项目名称:'${JOB_NAME}
vv='\n项目版本号:'${version}
handler_type='\n操作类型:'${typeDesc}

build_time="\n触发时间:$(date +%F-%T)"
build_u='\n触发人员:'$BUILD_USER_ID
Message='发布完成'${pname}${vv}${handler_type}$build_time${build_u}

curl 'https://oapi.dingtalk.com/robot/send?access_token=6cecd1365009eb54f234aca1ff6c5825f40fa10d2943338bd36b4def7ea8eef' \
   -H 'Content-Type: application/json' \
   -d "
  {\"msgtype\": \"text\", 
    \"text\": {
        \"content\": \"$Message\"
     }
  }"

推送效果

image.png

君哥由于宽带变化,ip发生了调整,所以接下来的课程你所看到的IP跟之前的文章中的IP不一样

Jenkins服务器:192.168.2.6

应用服务器:192.168.2.8

相关文章
|
4天前
|
安全 物联网 Android开发
构建未来:Android与IoT设备的无缝集成
【5月更文挑战第10天】 在数字化时代的浪潮中,智能设备与互联网的结合日益紧密。本文深入探讨了Android系统如何通过其开放性和灵活性成为连接物联网(IoT)设备的关键枢纽。我们将分析Android平台与IoT设备集成的技术途径,探索它们如何共同塑造智能家居、可穿戴技术以及工业自动化等领域的未来。文中不仅阐述了当前的发展状况,还展望了未来的发展趋势,特别是安全性和隐私保护方面的挑战及对策。
|
6天前
|
安全 Java 数据库连接
在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
|
14天前
|
敏捷开发 运维 测试技术
构建高效自动化运维体系:基于容器技术的持续集成与持续部署实践
【4月更文挑战第30天】在数字化转型的浪潮中,企业对软件交付速度和质量的要求日益提高。自动化运维作为提升效率、确保稳定性的关键手段,其重要性不言而喻。本文将探讨如何利用容器技术构建一个高效的自动化运维体系,实现从代码提交到产品上线的持续集成(CI)与持续部署(CD)。通过分析现代容器技术与传统虚拟化的差异,阐述容器化带来的轻量化、快速部署及易于管理的优势,并结合实例讲解如何在实际环境中搭建起一套完善的CI/CD流程。
|
14天前
|
运维 Kubernetes 持续交付
构建高效自动化运维系统:基于容器技术的持续集成与持续部署实践
【4月更文挑战第30天】 在快速发展的云计算时代,传统的运维模式已无法满足敏捷开发和快速迭代的需求。本文将介绍如何利用容器技术搭建一套高效自动化运维系统,实现软件的持续集成(CI)与持续部署(CD)。文章首先探讨了现代运维面临的挑战,接着详细阐述了容器技术的核心组件和工作原理,最后通过实际案例展示了如何整合这些组件来构建一个可靠、可扩展的自动化运维平台。
|
15天前
|
运维 Kubernetes 持续交付
构建高效自动化运维体系:基于容器技术的持续集成与持续部署(CI/CD)实践
【4月更文挑战第29天】 随着云计算和微服务架构的兴起,自动化运维已成为提升企业IT效率、确保系统稳定性的关键因素。本文旨在探讨如何利用容器技术构建一套高效的自动化运维体系,实现软件开发过程中的持续集成(CI)与持续部署(CD)。文章首先分析了传统运维模式面临的挑战,然后详细介绍了基于Docker和Kubernetes等容器技术的CI/CD流程设计与实施策略,并通过一个实际案例来展示该方案在提高部署频率、降低人力成本及提升系统可靠性方面的显著优势。
|
21天前
|
敏捷开发 缓存 Devops
构建高效持续集成系统的策略与实践
【4月更文挑战第23天】 在快速迭代的软件开发过程中,持续集成(CI)是确保代码质量和加速交付的关键。本文深入探讨了构建和维护一个高效CI系统的方法和最佳实践。从自动化测试到部署策略,文中细致分析了各环节的优化技巧,并提供了解决常见问题的实用建议。通过案例研究和工具选型,读者将获得构建强大CI流程的具体指导,以支持敏捷和DevOps环境下的高质量软件发布。
|
26天前
|
机器学习/深度学习 数据采集 人工智能
构建未来:移动应用开发中的人工智能集成
【4月更文挑战第18天】 在本文中,我们将深入探讨移动应用开发中人工智能(AI)的集成。我们将分析AI如何改变移动应用的功能和用户体验,以及开发者如何利用这种技术来提升他们的产品。我们还将讨论一些挑战和解决方案,以及AI在未来移动应用开发中的潜在影响。
|
27天前
|
jenkins Java 持续交付
实战指南:运用Jenkins实现Java项目的持续集成与自动化部署
【4月更文挑战第17天】Jenkins是一款强大的开源CI/CD工具,广泛用于Java项目的自动化构建、测试和部署。通过配置Jenkins环境、创建Job、设定构建触发器和步骤,实现持续集成和部署。集成Maven、Git等工具,确保代码质量并加速上线。持续部署阶段,Jenkins可将工件发布至远程服务器或云环境,实现高效、稳定的自动化流程。实践过程中,关注工作流优化、配置备份和服务器状态监控,以提升整体开发效率和软件质量。
|
28天前
|
SQL 机器学习/深度学习 数据可视化
Pandas与其他库的集成:构建强大的数据处理生态
【4月更文挑战第16天】Pandas在数据处理中扮演关键角色,但与其他Python库如NumPy、Matplotlib/Seaborn、Scikit-learn和SQL的集成使其功能更加强大。结合NumPy进行数值计算,搭配Matplotlib/Seaborn实现高效可视化,与Scikit-learn联用加速机器学习,以及与SQL集成便于数据库操作,这些都构建了一个全面的数据处理生态系统,提升了数据科学家的工作效率,助力于数据价值的发掘。
|
1月前
|
存储 持续交付 API
GitLab CI/CD简介:构建持续集成与持续交付的全方位指南
GitLab CI/CD简介:构建持续集成与持续交付的全方位指南
35 0
GitLab CI/CD简介:构建持续集成与持续交付的全方位指南