Jenkins pipeline 发送邮件及包含附件

Jenkins pipeline 发送邮件及包含附件

设置邮箱开启SMTP服务

此处适用163 邮箱
在这里插入图片描述

  1. 开启POP3/SMTP服务
  2. 通过短信获取TOKEN (保存TOKEN, 后面Jenkins会用到)

Jenkins 邮箱设置

安装 Build Timestamp插件

设置全局凭证

Dashboard -> Manage Jenkins -> Credentials -> Stores scoped to Jenkins -> Domains (global)
新增一个ID,配置对应的用户名,密码(163 开启POP3/SMTP 服务提供的 TOKEN)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设置邮箱

  1. Dashboard -> Manage Jenkins -> System -> Jenkins Location ->
    System Admin e-mail address: fernando_xxxx@163.com (开启了POP3/SMTP的邮箱地址)
  2. Dashboard -> Manage Jenkins -> System -> Jenkins Location ->
    Extended E-mail Notification:
    SMTP server: smtp.163.com
    SMTP Port: 25
    Advanced -> Credentials: 163_email_user
    Default user e-mail suffix: 163.com
    Default Content Type: HTML (text/html)

在这里插入图片描述

Jenkins pipeline 验证

pipeline {agent anystages {stage('Check and Create Directory') {steps {script {def dir = "zip_files"sh 'rm -fr ${dir}'if (!fileExists(dir)) {sh "mkdir -p ${dir}"}}}}stage('Execute Python Statement') {steps {sh 'python3 -c "print(\'Hello from Python in Jenkins\')"'writeFile file: './zip_files/file1.txt', text: 'This is the content of file1'writeFile file: './zip_files/file2.txt', text: 'This is the content of file2'script {env.ZIP_FILE = "test.zip"}sh "zip -r ${env.ZIP_FILE} ./zip_files/*.txt"}}stage('Send Email') {steps {script {def version = "1.0.${env.BUILD_NUMBER}"emailext (subject: "Build and Package Report for Version ${version}",body: "Please find the attached packaged zip file.",// hide the mail addressto: "9949****@qq.com",attachmentsPattern: env.ZIP_FILE)}}}}
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/66794.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JSON.stringify 实现深度克隆的缺陷

在前端开发中,深克隆(Deep Clone)和浅克隆(Shallow Clone)是常见的操作。浅克隆和深克隆的区别主要体现在对象内部嵌套对象的处理方式上。 1. 浅克隆(Shallow Clone) 浅克隆是指创建一个新对象…

【软考】软件设计师

「学习路线」(推荐该顺序学习,按照先易后难排序) 1、上午题—计算机系统(5~6分)[1.8; ] 2、上午题—程序设计语言(固定6分)[1.9; ] 3、下午题—试题一(15分) 4、上午题—…

python学opencv|读取图像(二十九)使用cv2.getRotationMatrix2D()函数旋转缩放图像

【1】引言 前序已经学习了如何平移图像,相关文章链接为: python学opencv|读取图像(二十七)使用cv2.warpAffine()函数平移图像-CSDN博客 在此基础上,我们尝试旋转图像的同时缩放图像。 【2】…

初学stm32 --- DAC输出

目录 DAC寄存器介绍(F1) DAC控制寄存器(DAC_CR) DAC通道1的12位右对齐数据保持寄存器(DAC_DHR12R1) DAC软件触发寄存器(DAC_SWTRIGR) DAC输出实验配置步骤 相关HAL库函数介绍 关键结构体介绍(F1) DAC寄存器介绍(F1&…

Stable diffusion的SDXL模型,针不错!(含实操)

与之前的SD1.5大模型不同,这次的SDXL在架构上采用了“两步走”的生图方式: 以往SD1.5大模型,生成步骤为 Prompt → Base → Image,比较简单直接;而这次的SDXL大模型则是在中间加了一步 Refiner。Refiner的作用是什么呢…

知道蛋白uniprot id 进行VFDB注释

https://blog.csdn.net/missinghead/article/details/135699418 【生物信息】VFDB数据库预测毒力因子-CSDN博客 知道蛋白uniprot id 提取蛋白的fasta格式序列:现在uniprot网站下载物种所有蛋白序列文件 conda create -n kp_proteomic conda activate kp_proteomic…

51单片机——串口通信(重点)

1、通信 通信的方式可以分为多种,按照数据传送方式可分为串行通信和并行通信; 按照通信的数据同步方式,可分为异步通信和同步通信; 按照数据的传输方向又可分为单工、半双工和全双工通信 1.1 通信速率 衡量通信性能的一个非常…

【SpringAOP】Spring AOP 底层逻辑:切点表达式与原理简明阐述

前言 🌟🌟本期讲解关于spring aop的切面表达式和自身实现原理介绍~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 &am…

Objective-C语言的软件工程

Objective-C语言的软件工程探讨 引言 在软件工程的领域中,编程语言的选择是至关重要的。Objective-C,作为一种为苹果公司的macOS和iOS操作系统而开发的编程语言,凭借其灵活性和强大的功能被广泛应用于应用开发。然而,随着Swift等…

GO通过SMTP协议发送邮件

什么是SMTP协议 SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是用于发送邮件的协议。当一个邮件服务器需要发送邮件给另一个邮件服务器时,它会使用SMTP协议与目标服务器建立连接,并传输邮件内容。SMTP协议的…

windows下,golang+vscode+delve 远程调试

1 先在远程服务器安装golang和delve golang的安装,通过官网直接下载安装包安装接口 go install github.com/go-delve/delve/cmd/dlvlatest 如果dlv和golang版本不匹配,这里把latest换成匹配的版本,比如1.20.0 2 编译带调试信息的程序 go bu…

Linux之线程池与单例模式

目录 线程池 线程池代码 单例模式 饿汉模式单例模式 懒汉模式单例模式 在前几期,我们已经学习了多线程的创建和控制,学习了多线程中的同步和互斥,学习了多线程中的条件变量和信号量,基于此我们实现了基于阻塞队列和基于环形队…

青蛙云的云服务器有哪些显著优势?

青蛙云的云服务器具有以下显著优势,这些特点使得它成为企业构建高效IT基础设施的重要选择: 1.高性能硬件 青蛙云服务器采用高性能的服务器硬件进行部署,确保服务的稳定性和高效运行,为用户提供卓越的计算能力。 2. 弹性资源 支持资…

赛车微型配件订销管理系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 赛车微型配件行业通常具有产品多样性、需求不确定性、市场竞争激烈等特点。配件供应商需要根据市场需求及时调整产品结构和库存,同时要把握好供应链管理和销售渠道。传统的赛车微型配件订销管理往往依赖于人工经验和简单的数据分析,效率低下且容易…

原生js解析token信息

原生js解析token信息: 代码: const tokenString localStorage.getItem(Token) const strings tokenString.split(.) //通过split()方法将token转为字符串数组 //取strings[1]数组中的第二个字符进行解析 const userinfo JSON.parse(decodeURICompon…

KGA:AGeneral Machine Unlearning Framework Based on Knowledge Gap Alignment

文章目录 摘要1 引言2 相关工作3 符号与定义4 我们的 KGA 框架4.1 KGA框架知识差距对齐目标 4.2 KGA在自然语言处理任务中的应用文本分类机器翻译响应生成 5 实验设置数据集评估指标参数设置比较方法 6 实验结果6.1 主要比较结果6.2 KGA 的优越性分析降低语言模型概率比较 6.3 …

swiftUI桥接UIKit

swiftUI桥接UIKit struct TestView: UIViewRepresentable {Binding var text: String // 该文本在swiftUI中可以修改let text: String // 不可修改func makeUIView(context: Context) -> UIView {let view UIView()// 例子asd.frame CGRect(x: 0, y: 0, width: 300, heig…

解决安装dlib失败

安装dlib时失败,报错如下: $pip install dlib Defaulting to user installation because normal site-packages is not writeable Looking in indexes: https://mirrors.huaweicloud.com/repository/pypi/simple Collecting dlibDownloading https://mi…

《上古重生》V20241127111039官方中文学习版

《上古重生》官方中文版https://pan.xunlei.com/s/VODab-jcgXUAgJbj2b1-11qUA1?pwdc7di# 一款考验玩家技巧的砍杀游戏,从玩家到敌人,通通身穿古代的厚重盔甲,进行“重量级”的近身搏斗。在充满Cult元素的第一人称视角大冒险中杀出一条血路吧…

什么是负载均衡?NGINX是如何实现负载均衡的?

大家好,我是锋哥。今天分享关于【什么是负载均衡?NGINX是如何实现负载均衡的?】面试题。希望对大家有帮助; 什么是负载均衡?NGINX是如何实现负载均衡的? 1000道 互联网大厂Java工程师 精选面试题-Java资源…