引言一直很喜欢自动化的东西,自己的项目都配置有CI/CD;但是公司的项目单独用的TortoiseSVN和Jenkins,运维也没有配置服务端的Piplile;因此自己在TortoiseSVN使用Hook Scripts的客户端触发方法,本机执行Jenkins构建,因为Jenkins直接支持API创建构建,所以整体流程还算顺利
脚本实现的功能:
在每个SVN项目根目录中添加Post-commit后,根据脚本中的配置,按需在指定路径代码更新后触发指定服务的构建;支持参数设置
本文将指导:
任意脚本命令调试方法
Powershell调试方法
API调用Jenkins方法
TortoiseSVN触发Jenkins实用脚本
解决方案API调用Jenkins我的Jenkins版本为2.190.1 Jenkins的触发请查看Jenkins API;在网页的最下面有显示;地址为:
[Jenkins地址]/api/
认证方法为Basic认证,API Token请在用户设置中创建
新建构建在Create Job中有说明;
我的CURL命令是这样:
123curl --location 'h ...
引言最开始,为了解决日志查看的问题;我找到了专业的日志中心:Seq
它支持结构化日志的过滤筛选,有查询语法;支持类SQL查询数据;有了它很多很麻烦的问题一眼就找到bug所在;真是生产力工具 ,我在我NAS中部署它接入了接手的所有项目
但在公司的正式环境中因为网络以及其它的因素却不能使用;这带来了很大的不便;后来我发现了有一个轻量型的命令行工具lnav
这可以一定程度上替代部分SEQ的功能;本文介绍 lnav应用在c# nlog日志的教程
解决方案lnav解析日志文件依赖于正则表达式及相关配置,但是网上却没有lnav分析nlog日志的教程;本文权当抛砖引玉
nlog的配置在nlog.config中
日志格式定义于target.layout
我的日志格式是这样:
${longdate}|${event-properties:item=EventId.Id}|${logger}|${uppercase:${level}}|${message}|${excepti ...
引言最近在Jenkins上的小程序发布报错:
child process stderr: Browserslist: browsers data (caniuse-lite) is 14 months old. Please run: npx update-browserslist-db@latest Why you should do it regularly: https://github.com/browserslist/update-db#readme
这里记录一下解决方案
解决方案出现问题时的miniprogram-ci版本是2.0.10
直接按照提示执行npx update-browserslist-db@latest会发现并不能解决问题
根据提示,是知道因为包过期了导致编译失败;因此更新miniprogram-ci版本就行了
操作步骤
首先直接尝试更新到最新版
执行命令npm install -g miniprogram-ci@latest安装好后尝试发布,现在是不会报这个错了;但是因为小程序很大,会报超2M的的问题:
[error] 20003 Error: ...
引言前一段时间玩SC2的时候经常会崩溃报错:程序运行中出现意外错误
表现行为就是能开游戏,但是玩2~10分钟就会游戏崩溃;如此往复好几次后我终于找到解决方法
本解决方案是暴雪游戏崩溃的终极解决方法,任意暴雪游戏出现这个弹窗都可据此找到解决方法
解决方案我遇到的问题是INT_DIVIDE_BY_ZERO;通过这个关键字你可以找到很多相关的内容;
根本原因就是13,14代Intel CPU缺陷导致程序异常,基本的处理方法就是给CPU降频
这里的报错只是弹窗提示程序出现意外错误,实际的异常在日志文件中记录;
因此终极解决办法就是:
从本地磁盘中找到异常报错明细
根据报错明细网上搜索前辈的解决方法
后面我也会给出我这里的处理方法(CPU降频方法)
操作步骤找到崩溃报错明细
打开崩溃游戏的日志
SC2的崩溃日志在%USERPROFILE%\Documents\StarCraft II\GameLogs中,其它游戏请在对应目录中查找(假如你不知道你的游戏名字,打开战网游戏设置,安装路径的最后一层就是游戏名字);
找到最近一次Crash日志(文件夹形如2025-11-17 12.17.32 ...
引言事情起因是最近玩游戏家里网络总是不好,经常遇到ping延迟过高;然后过一段时间路由器就会被强制重新拨号;我猜想这里是因为PCDN,运营商限制每个家宽的上传;只要超过一定值就会把家里的PPPOE断开
我查看接口→wan的流量后发现有很大量的上传;为了排查出家里哪个服务在上传;我尝试给路由器加上流量统计(luci-app-bandix);但是因为我软路由很早之前安装的;包管理opkg的源已经失效(我之前用的https://supes.top的openwrt版本;版本22.03现在进网站会发现已经变成openwrt.ai(kwrt)了,之前的源也无法访问)无法安装Bandix于是有了此文
解决方案我现在安装的openwrt版本是Kwrt 24.10.4 11.08.2025 by Kiddin' / LuCI openwrt-24.10 branch 26.292.66247~75e41cb
所以这里介绍的是openwrt升级kwrt操作方法
我对openwrt的源码没研究,但从改名来看肯定有不少区别;
升级之前强烈建议备份系统;我是同时在openwrt中备份了系统的配置文件以及 ...
引言今天,战网发布公告:Passkeys and One-Time Passcodes—Faster and safer ways to log in
正式宣告战网支持通行密钥 Passkey;
那么,什么是通行密钥呢?
引用wiki
通行密钥(英语:Passkey),台湾又称通行金钥、密码金钥,是属于WebAuthn的一种数字认证凭证,用于网站或应用程序的身份验证[1][2][3]
它是2022年苹果优先推出,谷歌随后跟进的无密码登录方式;
简单来说,就是用外部可靠设备(手机指纹 FaceID USB密钥)或方式(Windwos hello )替代你输入密码的登录方法;由于没有密码因此可以防止密码遗忘,密码泄漏等问题
具体流程可查看Auth Wiki
那么如何使用通行密钥登录战网呢?
本文介绍通行密钥的系统要求,登录方法
解决方案通行密钥的使用需要客户端(正在登录的设备)和服务器(你要登录的服务或网站)同时支持;由于战网(服务)已经支持,这里说的要求是客户端要求
通行密钥系统要求:
这里引用少数派文章说明:
Apple:iOS 16、iPadOS 16、macOS Ventu ...
引言公司正式环境使用了H3C的堡垒机,因此在查看正式数据时需使用对应的堡垒机客户端Tgent
之前公司还使用过Vone客户端连接到堡垒机;
这些堡垒机以我的经验来看都使用的是ssh tunnel技术
这一点可以在我使用ssh -J命令的报错得到印证
123channel 0: open failed: administratively prohibited: Generic error while opening channel: 0stdio forwarding failedkex_exchange_identification: Connection closed by remote host
堡垒机(B)登录需要三组IP和用户名密码
S: 堡垒机外网入口 零信任 Tgent IP,即为VPN 服务地址假设 200.0.0.0
S1:堡垒机登录IP ,即实际管理内网资源的服务网站,IP假设为:10.0.0.0
B:需要访问的正式服务器内网地址,假设为:192.168.10.0
客户端C连接目标服务器B的数据流转图大概如下:
1234567graph LR C-- &qu ...
引言memory dump是分析线上程序内存占用非常好的工具
在windows上可以直接任务管理器右键生成dump,假如需要根据条件比如CPU 内存占用到多少生成dump可以使用procdump
额外的,还可以使用dotmemory.exe创建dump
而linux呢?
可以使用dotnet-dump 或 dotnet-gcdump
经我测试,dotnet-gcdump安装后可直接执行命令无问题,但在dump中未发现更多数据,于是尝试使用dotnet-dump
但是我在正式服务器上安装一堆东西执行命令后却报错:
1dotnet-dump fails with "Writing dump failed (HRESULT: 0x80004005)"
GPT告诉我这是因为docker run时未添加特权参数--cap-add=SYS_PTRACE --security-opt seccomp=unconfined导致的
但问题是,我只需要为这个线上容器(Container)创建dump而不是要重新起一个容器
本文介绍解决方法
解决方案微软的官方文档里面有提到这种方法 ...
引言公司正式的服务器使用了深信服,本文介绍深信服服务器的连接方法
连接正式服务器需要的vpn软件为EasyConnect,这个软件第一坑的地方就是官方下载需要登录深信服社区;我直接拒绝
后面我找到腾讯的下载地址:EasyConnect下载:腾讯软件下载
第二个不便的地方是开启VPN后本机所有的外网都没了,在找EasyConnect的时候,我意外发现了这个开源项目:docker-easyconnect
本文主要使用此项目
默认的从客户端(A)连接到服务器(B)的方法是直接连接
开启EasyConnect后AB组成了一个局域网,导致A也没有网络了
而**docker-easyconnect**的作用是添加一个A1和服务器B通讯,而本机A只用和A1通讯,进而可以自由访问外网
参照网上的攻略:用docker封印EasyConnect并连接远程桌面和数据库 - Jortana的文章 - 知乎
可以在本机的docker实现这样的功能,攻略中的A1就是本机docker环境,也可以是wsl
但是我的PC没有docker,于是将A1独立出来,放到另外的测试服务器上
实际上A1的作用就是堡垒机,本文也 ...
引言最近趁着国补买了一个屏幕挂灯,这个屏幕挂灯可以在米家中控制;于是寻思可否在HA中在我电脑开机时自动打开;于是在网上找到了相关工具IOTLink
这个工具可以将windows的相关事件通过MQTT发送出去只要,Home Assistant正确监听即可完成相关自动化
但官方的yml配置过于陈旧无法使用,本文主要解决以下两个报错:
获取“Mosquitto Mqtt Broker”插件的信息失败。
12345678910不可能将 platform: mqtt 添加到”binary_sensor“配置来配置”mqtt binary_sensor“。查看文档可获取有关如何设置此集成的更多信息。要解决这个问题:从 YAML 配置文件的”binary_sensor:“配置中移除 platform: mqtt。重新启动 Home Assistant 。应当移除以下示例:binary_sensor: - platform: mqtt
解决方案首先声明我的环境 ,见前文:homeassistant初始化及HACS的安装
我是全新安装的新版2025.3.1
获取“Mosquitto Mqtt ...
