wsl2搭建centos、docker mongo
wsl安装centos
wsl推出的早期,官方并没有提供centos镜像,民间方案大多是使用CentWSL。wsl2推出后,官方有了centos方案Import any Linux distribution to use with WSL,安装过程需要一些动手能力,安装说明非常详尽,本文不用过多复述。PS:截至到2024.3.1,centos并未上架microsoft store。
以下几点需要非常注意:
确保你的window系统版本支持wsl2 WSL enabled with a Linux distribution installed running WSL 2,从未安装参考官方文档How to install Linux on Windows with WSL
确保...
Click to read more ...
docker笔记
[TOC]
debian 12 安装docker官方说明文档
centos 7|8|9 安装docker官方说明文档
镜像
查询镜像是否存在 docker search IMAGE_NAME
拉取网上镜像 docker pull IMAGE_NAME:TAG
删除镜像 docker rmi [IMAGE_NAME/IMAGE_ID]
查看镜像 docker images
保存镜像 docker save IMAGE_ID > OUT_PUT_FILENAME.tar
加载镜像 docker load -i OUT_PUT_FILENAME.tar
利用Dockerfile文件创建镜像
在当前目录查找dockerfile,并以TAG_NAME来命名新创建的镜像
...
Click to read more ...
jenkins插件Active Choices Plug-in使用心得
软件环境
Active Choices Plug-in 2.7.2
Jenkins 2.414.1 (docker: jenkins/jenkins:lts-jdk11)
Groovy中调用shell
// Choice下拉列出当前工作目录的所在子目录
def proc = "ls".execute()
proc.waitFor()
def output = proc.in.text
return output.split("\n") as ArrayList
Input text box 不可编辑
Input text box是Active Choices Reactive Reference Parameter里的一个选项,但它的使用非常奇怪。官方wi...
Click to read more ...
SourceTree自定义菜单命令 拉取所有仓库最新代码
技术和测试同事会在自己的电脑里,同时搭建前后端环境。但前端技术不会去关注后端的内容,只在需要的时候拉取最新后端内容。但是当工程包含多个外部代码仓库时,同事不熟悉工程结构难免偶尔会漏掉更新其中的某些仓库,导致运行异常浪费排查时间。对于这种只管拉取各个仓库最新代码,且不会去做任何修改和切换分支的情况,提供一键拉取所有仓库最新版本的脚本会更为适合。以下是一个仅支持git和svn仓库更新的模版脚本,
# file: YOUR_PROJ_ROOT/xxx/update_all_repo.sh
function git_repo() {
dir=$1
cd $dir
echo "branch: "`git branch --show-current`
git pu...
Click to read more ...
包装skynet.call&send远程调用接口
从语法层的来看,方法调需要涉及三项内容,目标对象、方法名和参数。对于远程调用来讲,还需要一项,即目标对象所处的位置。所处位置是一个抽象的说法,它可能是物理设备、节点实例、服务实例等标识ID,对于本文谈及的skynet来说,它是服务的标识ID。
不论本地还是远端服务,skynet统一使用skynet.call或send,第一个参数指向服务实例标识ID(再次强调不论本地/远端),第三个参数指向调用该service的方法名称,从第四个开始后面参数是传给远端的参数。读者可能注意到这里跳过第二个参数的说明,是因为它与本文讨论的问题无关,忽略它并不影响本文内容的理解。
基于skynet实现一套业务框架,在接口隔离性方面,我有几点考虑
skynet作为一个具体的实现,其提供的底层接口尽可能...
Click to read more ...
Jenkins流水线SCM Step检出git和svn代码
[TOC]
本文主要介绍使用Pipeline: SCM Step插件,展示如何对git或svn仓库,进行分支/标签切换。需要注意的是Pipeline: SCM Step只是给具体的scm做接口转发,视你使用的具体scm而定,还要安装对应的依赖插件。
git仓库,安装git
svn仓库,安装Subversion
关于Pipeline: SCM Step能支持的哪些SCM见compatibility list
git分支/标签
首先,要了解git内部管理分支/标签的数据结构,可以参考这里两篇文章Git 内部原理 - Git 引用和Git高级操作:refs和reflog,有以下结论
分支的完整语法:refs/remotes/<remoteRepoName>...
Click to read more ...
skynet中debug_console性能参数说明
[TOC]
增强skynet中debug_console.lua部分指令
stat
task 有多个个非BREAK状态的协程
mqlen 当前service上下文消息队列长度
cpu 累计工作毫秒
message 累计处理消息数量
netstat
type 连接类型[LISTEN|TCP|UDP|BIND|CLOSING]
type = 如果type=LISTEN, 会额外有rtime和wtime字段的性能指标
accept 已监听的连接数
socket ip地址
rtime 距离上次读操作(type=LISTEN,即上次accept,TCP/UPD上次读操作)到执行netstat命令时间隔时间秒,该指标不能完全作为性能的参考标准。
wtime 距离上次写操作(type=LIST...
Click to read more ...