Git branching strategy

随着近些年 Git 的快速普及,想必无论开发还是测试在日常工作中都要用到 Git。

对于刚刚接触的 Git 的人来说,打开一个 Git 仓库,面对十几个甚至几十个分支时,有的人不理解,有的人云里雾里,为什么会创建这么多分支?

对于开发需要知道如何通过 Git 分支来管理产品的开发和发布,尤其是对于大型的项目的开发,只有 master 和 develop 分支是无法满足产品管理和发布要求的,我们还需要其他分支以便更好的管理产品代码。

对于测试更多的了解开发过程及分支管理有助于测试及开展自动化测试用例,可以针对不同的分支进行测试用例的编写,在以后回归测试里可以通过分支或是 tag 找到对应的测试用例。

Read More

通过 Jenkins 来提交修改的代码 git push by Jenkins

在持续集成中,你可能需要通过 Jenkins 来修改代码,并且将修改后的代码提交到Git仓库里。怎么做呢?最方便的做法还是 Jenkins 提供对应的插件,但是很遗憾我没找到合适的。另外我也觉得通过脚本的方式来实现会更加稳定,不用担心 Jenkins 以及插件升级带来潜在不好用的可能。

Read More

Execute sudo without password

在使用 Jenkins pipeline 的时候,在 Linux 需要用 root 来执行,我想通过 Jenkins pipeline 的语法来解决,但是只找到这种方式:SSH Pipeline Steps

Read More

Hexo 添加 Disqus 留言功能

在你的 Hexo 网站添加 Disqus

去 Disqus 创建一个账号,在这个过程中有需要选择一个 shortname,完成后,你可以在设置页码找到你的 shortname

https://YOURSHORTNAMEHERE.disqus.com/admin/settings/general

在你 Hexo 博客里打开 _config.yml, 然后输入 disqus_shortnameand: YOURSHORTNAMEHERE,像这样:

Read More

Jenkinsfile example - 实现交互、clone 多个仓库以及 git push

这个pipeline里包含了如下几个技术:

  • 如何使用其他机器,agent
  • 如何使用环境变量,environment
  • 如何在build前通过参数化输入,parameters
  • 如何使用交互,input
  • 如何同时clone多个repos
  • 如何进行条件判断,anyOf

Read More

Git 管理

查找是否有遗漏提交

从一个分支找到所有的 commit 和 ticket 号,然后去另外一个分支去查找这些提交是否也在这个分支里。

Read More

Multibranch Pipeline

Problems

Like database product, it runs on multi-platform, but for software enginner they may only works on one platform, how they could identify their code works on all platform? manually build the various platforms? NO!

Solution

Most people would know we can use Jenkins pipeline, they may create multi Jenkins job for different stuation.

How to do it in an elegant way, I would want to share how to use multibranch pipeline to achieve.

  1. When create a pull request, auto parallel start simple build.
  2. Reviewers can decide whether to merge base on build results.
  3. After code merged, auto start full build.

Read More

A Code Coverage Tool - Squish Coco use examples

Preparation

  1. You need to ask for a free trial license and install
    • You will receive a mail with username/password to login for downloading
  2. I test it on the Windows platform, so I download the Windows installer, then install Squish Coco and Add-in
  3. Installed Visual Studio 2010 or higher, I used VS2017 Professional

Read More

Code Coverage tools of C/C++

Code Coverage is a measurement of how many lines, statements, or blocks of your code are tested using your suite of automated tests. It’s an essential metric to understand the quality of your QA efforts.

Read More

GitSCM clone code don't display branch

最近遇到一个 regression bug,是产品完成构建之后,build commit number 不对,显示的 HEAD 而不是常见的 97b34931ac HASH number,这是什么原因呢?
我检查了 build 脚本没有发现问题,branch 的输出是正确的,那我怀疑是引入 Jenkins 的原因,果然登录到远程的 agent 上去查看分支名称如下:

Read More

通过参数化上传文件到 FTP 服务器

实现 CI/CD 过程中,常常需要将构建好的 build 上传到一个公共的服务器,供测试、开发来获取最新的 build。如何上传 build 成果物到 FTP server,又不想把 FTP server登录的用户名和密码存在脚本里,想做这样的参数化如何实现呢?

upload_to_ftp.bat [hostname] [username] [password] [local_path] [remote_pat]

Read More

Automatically commit code by Jenkins

When we need to release a product, we should change copyright, build version, release month, release note…
How to modify multiple files automatically?

Read More

Jenkins Linux agent configuration

Prepare Java runtime

Check if had installed java

$ java -version
openjdk version "1.8.0_65"
OpenJDK Runtime Environment (build 1.8.0_65-b17)
OpenJDK 64-Bit Server VM (build 25.65-b01, mixed mode)

Read More

从测试转开发

每当工作闲暇,我都会时常想起好久没有更新微信公众号的文章了,总想等工作不忙的时候赶紧跟大家分享我从测试转开发这段时间的经历和感受,但工作总是有忙不完的忙,一刻都停不下来。

终于等到这一周有两天工作不是那么忙碌了,才决定将前几天写到一半的文章更新完。这是我这几个月下来感受最轻松的两天,暂时没有bug需要去调查和测试,不用去看十几年的C代码,终于有大块时间去写我负责的Python Client端代码了。这种写着代码,听着歌曲去重构,Debug,修改Unit Test Suite感觉真是幸福。

幸福的时光总是短暂的,今天就又来了两个Bug需要去调查 ε=(´ο`*)))唉…

又把我打回原形,调查大半天之后发现原来是QA测的不对,可以松口气晚上可以不用工作更新下微信公众号了。

这五个月来,几乎每天都是白天八小时,晚上继续背着电脑回家准备继续工作,周日偶尔去公司,经常在家学习。因为角色的转变,新的项目,需要学习的地方很多。从业务到技术,再加上产品发布在即,作为一名开发新人也肩负起Bug Fix的任务,十年前的代码,全英文的文档,复杂的系统,如果不全力一搏,真担心自己转型失败,那就太打脸了。

一天的工作忙碌和压力,使得我晚上总是吃的停不下来,吃饭是我一天当中最轻松的时刻。去年我跟别人打赌减肥赢奖金,我毫无怨念的拿到了第一的奖金,可是今年再和别人打赌减肥,至今我都还没开始,马上年底了,输掉奖金是毫无悬念的。总结下来,大概是因为今年工作太忙,工作压力大的缘故,使得我无法在八小时之余安心去继续练习吉他,做keep,年假还没来得及休,真是计划不如变化快。

虽然我还是个小开发,当角色变了,角度也会有变化。

Read More