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 ...

阿毛的编程工具

编辑器vscode 随便用一个主流代码编辑器写一个简单的hello world程序只需要一分钟,但是如果说可能要先花好几天搭建好vim环境才能写出hello world,恐怕大多数读者不会去多看一眼vim。vim的安装过程极可能遇到各种问题(如centor上安装),也可能一切顺利啥事也没有(如ubuntu上安装)。但遇到的问题极大概率都归结到gcc、python版本等常见问题。如果有志于后端开发,不再vim这里遇到,以后在其它地方也是会碰到,也是要学会如何解决。 然而,本文并不是为了介绍如何搭建vim编辑环境,也不是为了介绍如何通过配置让vim看上去更加炫酷。实质上,vim过于折腾,我并不主张用vim作为主力编辑,但vim所倡导的扔掉鼠标,通过高效的键盘快捷键完成代码编辑的理念,非常...
Click to read more ...

Jenkins流水线git clone

[TOC] 假设你对以下内容有基础的了解,本文不在另外赘述 jenkins pipeline基础语法 Snippet Generator导出代码片段 Git plugin 4.11.5插件 这是由于导出的git clone选项参数与其界面参数一一对应 jeknins权限管理 密码由受jenkins管理,在pipeline中需要特殊方法获取。注:以下谈及到的账号credentialsId:”xxx”的权限类型为Username with password 注:以下测试环境使用的jenkins版本Jenkins (2.375.1) 方法一:Snippet Generator导出代码 测试环境的插件,如下 Pipeline: SCM Step 400.v6b...
Click to read more ...