需求: 代码发布后,将发布结果发送至相关运维同学邮箱,需要获取发布人的信息。jenkins默认是没有相关内置变量的。 需要通过插件的方式进行解决:
插件: user build vars plugin
部署后,可使用的变量:
|
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 |
|
BUILD_USER_EMAIL |
Email address |
在jenkins任务中使用构建变量:注意需要勾选 "Set jenkins user build variables."
缺陷:1). 当job是定时执行的时候,获取不到jenkins登录用户名。
2). 使用pipeline构建时, 不支持直接调用相关变量。
pipeline解决方式:
使用wrap对相关方法进行封装:
post {
success{
wrap([$class: 'BuildUser']) {
emailext body:"${BUILD_USER} ${JOB_NAME} (${BUILD_NUMBER}) run success\n请及时前往${env.BUILD_URL}进行查看" , subject: "PineLine '${JOB_NAME}' (${BUILD_NUMBER}) result", to: 'xiaoxiang@mail.xxx-inc.com'
}
}
}
验证。。。
---------------------------------------------------------------------------------------------------------
深耕运维行业多年,擅长运维体系建设,方案落地。欢迎交流!
V: ywjw996
《 运维经纬 》
1433

被折叠的 条评论
为什么被折叠?



