手搓个软件
未读项目地址:krisxia0506/gitlab_project_creator: 一个用于创建gitlab项目的网页,由springboot构建 (github.com)
背景企业中创建一个GitLab项目,可能对这个项目有很多要求,比如说
必须要有什么分支
必须保护什么分支
保护分支的权限是什么样的
合并检查需要做什么
合并方法是什么样的
webhook要设置什么
通过一项一项去设置是一个繁琐的过程,这些操作都可以通过GitLab提供的API完成,所以可以形成一个可选的自动化的创建过程,因此有个这个项目
前言HomeAssistant(下文称”HA”)官方允许直接调用他的api去控制设备,所以我们不一定要通过HA控制设备,也可以直接发请求给api控制设备
REST API | Home Assistant Developer Docs
在HA中所有的设备都可以分为一下几类:
switch
button
light
cover
camera
climate
fan
. . .
HA对这些设备有着通用的控制方法
获取所有服务通过下面的请求获取HA中所有的服务
123curl --location '<http://host:8123/api/services>' \\--header 'Content-Type: application/json' \\--header 'Authorization: Bearer 【token】'
我写了一个python脚本去处理这个请求的响应的json数据
123456789101112131415161718192021222324252627282930313233343 ...
手搓个软件
未读前言当在GitLab上有人发起了一个MR或者有人对你的MR进行了评论或其他操作,你希望及时的收到通知,有时邮件通知不是那么及时,如果你正好在使用飞书,你可以通过飞书应用机器人接收通知。
当然你也可以使用自定义机器人完成这个功能,只不过应用机器人可以私聊给某个人发消息,而自定义机器人需要在群里才能发消息。
飞书有对于GitLab的连接器,但是经过实验对于私有化部署的GitLab是无法使用的。
所以我自己写了一个用于解析GitLab Webhook并发送飞书应用机器人消息的脚本。
功能
解析GitLab的合并请求事件和评论事件的WebHook
通过飞书的应用机器人给事件的涉及人发送卡片消息
对于没approve但是发生merge的MR发送告警卡片消息
效果
Code项目地址:https://github.com/krisxia0506/gitlab_webhook_handler
Hexo
未读错误:ERROR Process failed: layout/page.pug现象
问题原因:依赖冲突,删除 "hexo-renderer-jade": "^0.5.0", 这个依赖就好了
Hexo
未读Hexo + Github Action + COS前言如果你希望部署一个hexo博客让所有人可以看到你的作品,不一定需要一个服务器。服务器价格贵,而且还需要一定的运维能力,对新手不友好。
因为hexo是一个静态网站, 对象存储(COS)上可以部署静态网站,所以hexo可以部署在 对象存储(COS)上,具体操作如何把静态网站部署在COS上可以查看对象存储 设置静态网站
关于COS我们在使用 hexo generate时,会生成静态的网站文件在public文件夹下,所以我们只需要把public文件夹中的文件上传到COS即可完成部署,所有人都可以访问。
关于Github Action我们通过手动上传public文件夹中的内容到COS过于繁琐,而且不自动化。我们可以通过Github Action来自动化的完成这个操作。
具体流程在本地配置好hexo,写好文章,通过git push到github,触发github action,github action把public文件夹上传到COS。
github action会做如下操作:
创建一个ubuntu的虚拟环境
签出当前仓库,以供后续使用
...
链路耗时分析器介绍我们开发的功能的时候,整个链路可能涉及多个模块,为统计每个阶段的处理耗时,从而做出针对性优化,特此推出链路耗时分析器。
效果下图是飞书机器人发出的消息
开始使用你只需要在你要记录时间节点的位置发送 http 请求,如下:
1234567curl --location '<http://host:5001/record_time>' \\--header 'Content-Type: application/json' \\--data '{ "module_name":"send", "event_name":"2", "timestamp":"1697790122.937543"}'
注意你的 Json 格式module_name:只能取(语音模块,意图分析模块,IoT 后端模块,HA 模块,send)
event_name:是唯一的, ...