准备工作
1.安装好Jenkins,安装教程可以参考官网或者网上的其他教程
2.码云账号,建个前端项目仓库,至于为什么不用Github,主要是Gitee比较快
3.注册个图灵机器人,地址:http://www.tuling123.com/,
window系统 下载安装酷Q,地址
链接: https://pan.baidu.com/s/1-vNP... 提取码: a3v4
下载CQHttp插件
https://pan.baidu.com/s/1qY55...
并启用
ubuntu系统 安装docker
`
$ docker pull richardchien/cqhttp:latest
$ mkdir coolq # 用于存储 酷Q 的程序文件
$ docker run -ti --rm --name cqhttp-test \
-v $(pwd)/coolq:/home/user/coolq \ # 将宿主目录挂载到容器内用于持久化 酷Q 的程序文件
-p 9000:9000 \ # noVNC 端口,用于从浏览器控制 酷Q
-p 5700:5700 \ # CQHTTP 插件开放的端口
-e COOLQ_ACCOUNT=123456 \ # 要登录的 QQ 账号,可选但建议填
-e CQHTTP_SERVE_DATA_FILES=yes \ # 允许通过 HTTP 接口访问 酷Q 数据文件
richardchien/cqhttp:latest
`
测试下服务是否可以用
http://0.0.0.0:5700/send_group_msg?group_id="群ID"&message="哈哈"
是否发送成功
或者### /send_private_msg
发送私聊消息user_id
:“qq号 /message
:发送内容
安装Jenkins上Gitee插件并配置
- 前往 Manage Jenkins -> Manage Plugins -> Available
- 右侧 Filter 输入: Gitee
添加码云链接配置
- 前往 Jenkins -> Manage Jenkins -> Configure System -> Gitee Configuration -> Gitee connections
- 在
Connection name
中输入Gitee
或者你想要的名字 -
Gitee host URL
中输入码云完整 URL地址:https://gitee.com
(码云私有化客户输入部署的域名) -
Credentials
中如还未配置码云 APIV5 私人令牌,点击Add
- >Jenkins
-
Domain
选择Global credentials
-
Kind
选择Gitee API Token
-
Scope
选择你需要的范围 -
Gitee API Token
输入你的码云私人令牌,获取地址:https://gitee.com/profile/personal_access_tokens -
ID
,Descripiton
中输入你想要的 ID 和描述即可。
-
-
Credentials
选择配置好的 Gitee APIV5 Token
添加Jenkins 任务
1.前往 Jenkins -> New Item , name 输入 'Gitee Test',选择Freestyle project
保存即可创建构建项目。
2.
选择上一步配置好的Gitee链接
- 源码管理
- 构建触发器
同时配置码云的WebHook
- 配置构建环境,由于前端需要Node.js环境,所以需要去插件市场安装Node.js插件
在可选插件种找到NodeJS Plugin
安装完成后
在
选择NodeJs版本 - 配置构建环境
- 配置构建脚本
到这一步差不多可以了。保存构建试下是否成功。
构建结果发送到qq群
安装插件
webqq.sh
#!/bin/bash
# ns Job API, --user 添加jenkins管理员用户和token, 用户→用户id→设置页面中查看
curl -s -o .temp.xml "$JENKINS_URL/job/$JOB_NAME/$BUILD_NUMBER/api/xml" --user lizhou1021:lz901021 >/dev/null
#需要先安装xml2工具,yum -y install xml2
action=`cat .temp.xml | xml2 | grep /freeStyleBuild/action/cause/shortDescription= | awk -F= '{print $2}'`
#获取job的build状态
build_status=`cat .temp.xml | xml2 | grep /freeStyleBuild/result= | awk -F= '{print $2}'`
developer=`cat .temp.xml | xml2 | grep /freeStyleBuild/culprit/fullName= | awk -F= '{print $2}'`
#发送群消息
##qq发送方式
curl -d "group_id=152904742&message=Job: $BUILD_URL/console | Action: $action | Developer: $developer | Status: $build_status | Jenkins." http://127.0.0.1:5700/send_group_msg
##清理现场
rm -rf .temp.xml .groupinfojson
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。