本篇文章主要讲解 Mattermost + Jenkins实现消息传递和CI / CD管道之间的协作。
使用Mattermost的Jenkins插件,您可以自动设置Mattermost中基于Jenkins活动的通知,并使用斜杠与Jenkins互动的命令。 Mattermost让您的团队使用CI / CD工作流程中的现代消息传递以集中化沟通,节省时间并提高可见性和透明度。
通过Mattermost中的斜杠命令与作业进行交互以:
点击团队,进入Plugin Marketplace。
搜索关键字"Jenkins”,然后安装配置此插件。
添加jenkins服务器的链接、启动此插件。
插件源码:https://github.com/mattermost/mattermost-plugin-jenkins 您也可以通过github下载release包手动安装插件。
随意进入一个频道,然后输入/jenkins
查看集成的命令。
这是一份操作指南,可以根据提示触发Jenkins操作。
/jenkins connect username APIToken ## 连接Jenkins服务器
/jenkins disconnect ## 断开服务器连接接
/jenkins createjob ## 创建一个项目(需要config.xml)
/jenkins build jobname ##触发项目构建
/jenkins abort jobname <build number> ## 取消项目构建
/jenkins enable jobname ## 启用一个项目
/jenkins disable jobname ## 禁用一个项目
/jenkins delete jobname ## 删除一个项目
/jenkins get-artifacts jobname ## 获取项目制品
/jenkins test-results jobname ## 获取测试结果
/jenkins get-log jobname <build number> ## 获取构建日志
/jenkins plugins ## 获取插件列表
/jenkins safe-restart ## 重启服务
/jenkins me ## 显示我的认证信息
/jenkins help ## 帮助信息
连接服务器,需要创建用户的apitoken。进入jenkins,用户配置,生成APIToken。
/jenkins connect zeyangli 11b124fe0690f39f0ed2a55d9bf62bdcbd
出现此信息说明连接成功。如果此处出现问题一般是因为网络或者账号信息问题导致的。
构建一个项目
获取项目构建日志
进入插件管理,搜索“mattermost” 安装此插件。
添加webhook,参考文档:https://docs.mattermost.com/developer/webhooks-incoming.html
配置好hook之后会生成一个hook url复制保存,到后续流水线中使用。
生成pipeline
pipeline {
agent any
stages {
stage('Hello') {
steps {
script{
mattermostSend channel: '#town-square',
color: '#439FE0',
endpoint: 'http://xxxx/hooks/bix8xjcb9byefj6rioht1ymrpo',
message: "Build Started: ${env.JOB_NAME} ${env.BUILD_NUMBER}",
text: '@young'
echo 'Hello World'
sleep 10;
}
}
}
}
}
构建测试,能够正常收到消息则成功了。后续通知消息根据自定义即可。
插件源码:https://github.com/jenkinsci/mattermost-plugin