Skip to content

Commit

Permalink
change: rename images dir
Browse files Browse the repository at this point in the history
  • Loading branch information
debugtalk committed Feb 8, 2022
1 parent 4690848 commit 08d47b2
Show file tree
Hide file tree
Showing 199 changed files with 128 additions and 128 deletions.
Expand Up @@ -98,7 +98,7 @@ https://leolee:340d247cxxxxxxxxf39556e38fe2b0baxxxxxxxx@github.com

在Macbook Air中打开`Keychain Access`应用软件,搜索`github`,果然发现存在记录。

![Mac Keychain of GitHub](/images/Mac_Keychain_GitHub.jpg)
![Mac Keychain of GitHub](/image/Mac_Keychain_GitHub.jpg)

而且,`github.com`这一项还存在两条记录。一条是我的个人账号`debugtalk`,另一条是公司的工作账号`leolee`

Expand Down
Expand Up @@ -9,7 +9,7 @@ tags:
- GitHub
---

![](/images/GitHub_hacker.jpg)
![](/image/GitHub_hacker.jpg)

## 背景介绍

Expand Down
Expand Up @@ -14,7 +14,7 @@ tags:

很自然地,我们会想到采用如下形式展现对比结果。

![render table three levels](/images/render_table_three_levels.png)
![render table three levels](/image/render_table_three_levels.png)
图1 三层表格

对应地,采用如下数据结构存储结果数据。
Expand Down Expand Up @@ -55,7 +55,7 @@ data_hash = {

为了简化问题分析过程,先尝试对两层表格进行绘制。

![render table two levels](/images/render_table_two_levels.png)
![render table two levels](/image/render_table_two_levels.png)
图2 两层表格

简化后的数据结构如下:
Expand Down
Expand Up @@ -22,7 +22,7 @@ tags:

安装完成后,在Jenkins Project的`Configure`页面中,`Build Environment`栏目下会多出`Color ANSI Console Output`配置项,勾选后即可开启颜色输出配置。

![Jenkins Color ANSI Console Output](/images/Jenkins_Color_ANSI_Console_Output.jpg)
![Jenkins Color ANSI Console Output](/image/Jenkins_Color_ANSI_Console_Output.jpg)

`ANSI color map`的列表选择框中,存在多个选项,默认情况下,选择`xterm`即可。

Expand All @@ -32,7 +32,7 @@ tags:

使用`xctool`命令编译iOS应用时,在Jenkins的`Console output`中会看到和`Terminal`中一样的颜色效果。

![Jenkins Console Output Colored](/images/Jenkins_Console_Output_Colored.jpg)
![Jenkins Console Output Colored](/image/Jenkins_Console_Output_Colored.jpg)

## 补充说明

Expand Down Expand Up @@ -119,6 +119,6 @@ puts step_action_desc.red

展示效果如下图所示。

![Terminal Output Colored](/images/Terminal_Output_Colored.jpg)
![Terminal Output Colored](/image/Terminal_Output_Colored.jpg)

是不是好看多了?
Expand Up @@ -76,15 +76,15 @@ $ ruby run.rb -p "${OUTPUT_FOLDER}/${SCHEME}.app.zip" --disable_output_color > t

安装完该插件后,在Jenkins配置界面的`Post-build Actions`栏目中,`Add post-build action`选项列表中就会多出`Execute a set of scripts`选项。选择该项后,会出现如下配置界面。

![Jenkins Post_build_Actions Execute_shell menu](/images/Jenkins_Post_build_Actions_Execute_shell_menu.jpg)
![Jenkins Post_build_Actions Execute_shell menu](/image/Jenkins_Post_build_Actions_Execute_shell_menu.jpg)

选择`Execute shell`后,会出现一个文本框,然后我们就可以将构建检查的命令填写到里面。

![Jenkins Post_build_Actions Execute_shell](/images/Jenkins_Post_build_Actions_Execute_shell.jpg)
![Jenkins Post_build_Actions Execute_shell](/image/Jenkins_Post_build_Actions_Execute_shell.jpg)

在这里我们用到了`${AppiumBooster_Folder}`参数,该参数也需要通过`String Parameter`来进行定义,用于指定`AppiumBooster`项目的路径。

![Jenkins String Parameter](/images/Jenkins_String_Parameter.jpg)
![Jenkins String Parameter](/image/Jenkins_String_Parameter.jpg)

最后,为了便于将执行自动化测试用例的日志和执行构建的日志分开,我们将执行自动化测试用例的日志写入到了`test_result.log`文件中。然后,在`Archives build artifacts`中就可以通过`${AppiumBooster_Folder}/test_result.log`将执行构建检查的日志收集起来,并展示到每次构建的页面中。

Expand Down
Expand Up @@ -17,8 +17,8 @@ tags:

首先,先给大家展示下平台建设完成后的整体效果:

![Overview of Jenkins Job](/images/Jenkins_Job_Overview.jpg)
![Build view of Jenkins Job](/images/Jenkins_Job_Build_View.jpg)
![Overview of Jenkins Job](/image/Jenkins_Job_Overview.jpg)
![Build view of Jenkins Job](/image/Jenkins_Job_Build_View.jpg)

该平台主要实现的功能有3点:

Expand Down
Expand Up @@ -228,7 +228,7 @@ $ python ${WORKSPACE}/Build_scripts/build.py \

配置完成后,就可以在`Build with Parameters`中通过如下形式手动触发构建。

![Jenkins manul build](/images/Jenkins_manul_build.jpg)
![Jenkins manul build](/image/Jenkins_manul_build.jpg)

### 2、修改build名称

Expand All @@ -244,13 +244,13 @@ Jenkins默认不支持`BuildName`设置,但可通过安装`build-name-setter`

然后再说下如何在`Build History`列表中展示每次构建对应的二维码图片。

![Jenkins build history](/images/Jenkins_build_history.jpg)
![Jenkins build history](/image/Jenkins_build_history.jpg)

需要说明的是,在上图中,绿色框对应的内容是`BuildName`,我们可以通过`build-name-setter`插件来实现自定义配置;但是红色框已经不在`BuildName`的范围之内,而是对应的`BuildDescription`

同样地,Jenkins默认不支持在构建过程中自动修改`BuildDescription`,需要通过安装`description setter plugin`插件来辅助实现。安装`description setter plugin`插件后,在配置页面的`Build`栏目下,`Add build step`中会出现`Set build description`配置项,添加该配置项后就会出现如下配置框。

![Jenkins set build description](/images/Jenkins_set_build_description.jpg)
![Jenkins set build description](/image/Jenkins_set_build_description.jpg)

该功能的强大之处在于,它可以在构建日志中通过正则表达式来匹配内容,并将匹配到的内容添加到`BuildDescription`中去。

Expand Down Expand Up @@ -288,7 +288,7 @@ appDownloadPage: (.*)$

添加后的配置页面如下图所示:

![Jenkins archive the artifacts](/images/Jenkins_archive_the_artifacts.jpg)
![Jenkins archive the artifacts](/image/Jenkins_archive_the_artifacts.jpg)

通常,我们只需要配置`Files to archive`即可。定位文件时,可以通过正则表达式进行匹配,也可以调用项目的环境变量;多个文件通过逗号进行分隔。

Expand All @@ -302,7 +302,7 @@ ${OUTPUT_FOLDER}/*.ipa,${OUTPUT_FOLDER}/QRCode.png,${OUTPUT_FOLDER}/*.xcarchive/

通过这种方式,我们就可以实现在每次完成构建后将需要的文件收集起来进行存档,以便后续在Jenkins的任务页面中进行下载。

![show artifacts of Jenkins](/images/Jenkins_show_artifacts.jpg)
![show artifacts of Jenkins](/image/Jenkins_show_artifacts.jpg)

也可以直接通过归档文件的URL进行访问。例如,上图中`QRCode.png`的URL为`Jenkins_Url/job/JenkinsJobName/131/artifact/build_outputs/QRCode.png`,而`Jenkins_Url/job/JenkinsJobName/131/`即是`${BUILD_URL}`,因此可以直接通过`${BUILD_URL}artifact/build_outputs/QRCode.png`引用。

Expand Down
Expand Up @@ -14,7 +14,7 @@ tags:

为了更好地说明问题,在下图中展示了一个精简的持续集成测试系统。

![Jenkins DroidTestbed](/images/Jenkins-DroidTestbed.png)
![Jenkins DroidTestbed](/image/Jenkins-DroidTestbed.png)

在该系统中,Jenkins负责定时检测代码库(`Code Repository`)的代码更新情况,当检测到有新的代码提交时,自动采用最新的代码进行构建,并采用构建得到的包(apk)触发自动化测试平台(`DroidTestbed`)执行测试任务。

Expand Down Expand Up @@ -137,7 +137,7 @@ Jenkins的Remote API以`REST-like`的形式进行提供,通过对特定的API

先看下整体的系统架构图。

![DroidTestbed DroidMeter](/images/DroidTestbed-DroidMeter.png)
![DroidTestbed DroidMeter](/image/DroidTestbed-DroidMeter.png)

整个系统实现的功能是Android App的性能持续集成测试平台,主要由`DroidTestbed``DroidMeter`两部分组成。

Expand Down
Expand Up @@ -13,7 +13,7 @@ tags:

`macOS`中配置Web代理时,通常的做法是在控制面板中进行操作,`System Preferences` -> `Network` -> `Advanced` -> `Proxies`.

![macOS-Web-Proxy-Setting](/images/macOS-Web-Proxy-Setting.jpg)
![macOS-Web-Proxy-Setting](/image/macOS-Web-Proxy-Setting.jpg)

这种配置方式虽然可以实现需求,但缺点在于操作比较繁琐,特别是在需要频繁切换的情况下,效率极其低下。

Expand Down Expand Up @@ -117,7 +117,7 @@ $ echo <password> | sudo -S networksetup -setwebproxystate 'Wi-Fi' off && sudo n

配置十分简洁清晰,不用解释也能看懂。完成配置后,在`macOS`顶部菜单栏中就会出现如下效果的快捷方式。

![macOS-Web-Proxy-Setting](/images/shuttle-preview.png)
![macOS-Web-Proxy-Setting](/image/shuttle-preview.png)

后续,我们就可以通过快捷方式实现一键切换HTTP(S)代理配置、一键启动`mitmproxy`抓包工具了。

Expand Down
Expand Up @@ -66,39 +66,39 @@ Confluence内置了大量的模板,可辅助用于项目工作的各个环节

创建空间的方式很简单,可以从顶部菜单进行创建:【Spaces】->【Create Space】;也可以从Dashboard页面的Spaces页面中进行创建。

![Confluence Dashboard](/images/Confluence_Dashboard.png)
![Confluence Dashboard](/image/Confluence_Dashboard.png)

进入创建空间页面后,需要选择空间类型。这个需要根据空间的用途进行选择,对于团队协作的空间,推荐选择“Team Space”,如果实在不知道选择什么类型,选择“Blank Space”也是可以的。

![Create space in Confluence](/images/Confluence_Create_Space.png)
![Create space in Confluence](/image/Confluence_Create_Space.png)

然后是填写空间的基本信息。所有类型的空间都有两个必填字段,Space name和Space key。Space key可以理解为空间的ID,不同空间的Space key不能重复,但Space name是可以重复的。

另外,对于“Team Space”类型的空间,多了一个“Team members”字段,用于添加空间的成员。成员的名称是其公司邮箱的前缀。

需要说明的是,空间创建完成后,Space key字段是不能修改的,其它字段以及团队成员都可以进行修改。

![Create team space in Confluence](/images/Confluence_Create_Team_Space.png)
![Create team space in Confluence](/image/Confluence_Create_Team_Space.png)

### 配置空间权限

创建空间后,根据项目需要,可以给空间设置权限。只有空间的管理员才能对空间权限进行配置。

操作方式如下:首先进入空间的页面,在空间左下角中,【Space tools】->【Permissions】,进入权限管理页面。

![Permissions menu of Confluence](/images/Confluence_Permissions_menu.png)
![Permissions menu of Confluence](/image/Confluence_Permissions_menu.png)

Confluence的权限控制比较完善,可以根据团队规范进行较为精细粒度的设置。

![Permissions settings of Confluence](/images/Confluence_Permissions_Setting.png)
![Permissions settings of Confluence](/image/Confluence_Permissions_Setting.png)

### 添加文档

在Confluence中文件以树状结构进行组织。

推荐的创建方式是,先进入父目录的页面,然后再点击【Create】进行创建。在创建文档页面中,可以看到新建文档的“Parent”,表示新文档创建后将位于“Parent”文件的下一个层级中。

![Create page in Confluence](/images/Confluence_Create_Page.png)
![Create page in Confluence](/image/Confluence_Create_Page.png)

在新建文档时,需要选择文档模板。这个就根据文档的实际类型或用途进行选择即可,如果觉得都不合适,就选择“Blank page”。

Expand All @@ -108,7 +108,7 @@ Confluence的权限控制比较完善,可以根据团队规范进行较为精

Confluence也集成了许多编辑工具,可以很方便地插入图表、链接、附件、代办列表等等。如果还不满足需求,可以点击【Insert】->【Other macros】,查找更多的扩展插件。

![Edit page of Confluence](/images/Confluence_Edit_Page.png)
![Edit page of Confluence](/image/Confluence_Edit_Page.png)

例如,Confluence默认是不支持Markdown编辑模式的,如果想采用Markdown来编写文档,就可以通过上述方式到插件市场寻找Markdown的插件。

Expand All @@ -120,8 +120,8 @@ Confluence也集成了许多编辑工具,可以很方便地插入图表、链

操作方式如下:先进入到待移动的文档页面中,点击页面右上角的【...】->【Move】;

![Move page menu of Confluence](/images/Confluence_Move_Page_menu.png)
![Move page menu of Confluence](/image/Confluence_Move_Page_menu.png)

然后选择新的目录即可。

![Move page of Confluence](/images/Confluence_Move_Page.png)
![Move page of Confluence](/image/Confluence_Move_Page.png)
Expand Up @@ -32,7 +32,7 @@ tags:

今年与小坚果一起度过了两个重要的日子。一个是他满百天的时候,当时带着他第一次回到了我的老家,办了一个百天宴,也让我的爷爷奶奶第一次抱上了曾孙,两位老人异常高兴,一大家人久违地聚在了一起,拍了四世同堂的全家福,非常圆满。另一个就是在他满一周岁的时候,给他在深圳公租房家里办了一个生日 Party,当时我妈从重庆过来了,也来了许多朋友和邻居,很是热闹。当时在生日 Party 上,老婆让我讲几句,我酝酿了下,终究没有讲出来。其实我想说,感谢小坚果的到来,我非常幸福,也非常自豪;此生我一定会做一个好爸爸,陪伴小坚果健康快乐成长。

![](/images/xiaojianguo.jpg)
![](/image/xiaojianguo.jpg)

一口气唠叨了这么多小坚果的点点滴滴,还这么煽情,这些在我当爸爸之前都是完全不敢想象的。

Expand Down
Expand Up @@ -54,7 +54,7 @@ tags:

这一年,小坚果满两岁了,随着他的语言能力越来强,我们的生活也多了许多趣味。例如在我早上要出门上班的时候,他会不舍地拉着我说“不上班”,或者说要“跟爸爸一起去上班”;我安慰他说过两天周末了我们就出去玩,问他到时候想去哪里玩,结果他的要求总是那么低,不是“玩沙沙”就是“找个有滑滑梯的公园玩”。我也沾了小坚果的光,这一年没有以前那么宅了,深圳大点的公园、景点基本上都去了个遍,深圳湾公园都不知道去了多少次。坚果妈在家的时候,他就经常嚷着要“接爸爸下班”;到了来福士,他会在办公区安全闸口候着我,有时候我有点事儿耽误了会儿,他就会跟他妈妈念叨,“怎么还没出来哦”,待看到我后就会冲上来让我抱,这也是我最幸福的时光。小坚果的记忆力也是惊人,很久前去过的地方、吃过的东西,他居然也会记得;有次我在读三字经,发现他居然可以接下句,于是我试着让他来背,发现他居然可以从“人之初”背到“贵以专”,着实令我惊叹不已。当然,这是小坚果乖的时候,调皮捣蛋起来也是忍不住想捶他得不得了。在家里经常把东西翻得到处都是,有时候故意把垃圾桶推倒然后就跑,还“嘎嘎嘎”地笑得特别有成就感。说到这儿又是气,高铁上在我用手机写这份年终总结的时候,他趁我不注意扑过来抢我手机乱点了几下,害得我丢了好多内容(在 apple notes 上没有版本回退)。跟小坚果的点点滴滴太多了,坚果妈在他两岁生日的时候写了一篇,[《来,我们一起》][9],满满的温馨回忆。

![](/images/xjg-2-birthday.jpeg)
![](/image/xjg-2-birthday.jpeg)

从大疆离职后,我就告别了大疆的公租房福利,开始在外面租房了,这也是我第一次自行在深圳租房。为了上班方便,以及享受字节跳动的租房补贴福利,我就租在了公司旁边,走路十分钟的样子。怎么说呢,住得近也是有好有坏吧。好的方面,不用任何交通工具,每天在路上的时间非常短,再加上公司上班时间晚,因此我基本上都是睡到自然醒,差不多 9:40 才出门去公司(因为公司的早饭 10 点停止供应)。但也是住得太近,感觉就没有了上下班的感觉(俗称仪式感),基本上工作日就是两点一线,不是在公司上班就是在家睡觉,仿佛回到了中学住校的时候。有时候我甚至挺怀念之前开车上下班的时光,在开车的同时还能听下极客时间,而现在这个场景也彻底没了。

Expand Down

0 comments on commit 08d47b2

Please sign in to comment.