准备工作
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选择你需要的范围
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