自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lynn Lin的专栏

关注持续集成,关于软件测试,关注软件开发流程

  • 博客(27)
  • 收藏
  • 关注

原创 开源了 MongoDB BOSH release

在开发云产品中,我们开发了基于BOSH的MongoDB的release,正式放到了https://github.com/cloudfoundry-community/mongodb-bosh-release 欢迎star和fork !!

2017-03-05 11:43:34 562

原创 how to setup razor in ubuntu 14.04 to deploy esxi 6.0

setup razor-server in ubuntu 14.04 and deploy esxi 6.0

2015-04-22 20:07:49 836

原创 主干开发,分支发布

通过努力,这种模式在我所在的项目中变成现实,去除了master上代码冻结这一"邪恶的做法",是开发人员在QA qual期间可以继续提交代码,我也同时提出了每日的merge来完成从分支到主干的回归。    充分发挥分支的力量,可以给项目带来很多的好处,但是同时保证这个成功,却需要很多方面的努力1 分支的生命周期不能无限制下去2 分支上的东西要持续的集成回来3 分支上尽量只提交bug

2011-10-29 23:14:00 4955 1

原创 使用git bisect去定位引入bug的代码

上周五又使用了一次git bisect去定位一个bad commit,体验很好$ git bisect start$ git bisect good XXX$ git bisect bad XXX然后就不停地测试git告诉你的commit,标记为bad or goo

2011-10-15 17:42:19 1016 1

原创 sudo reset environment

when we run sudo command without parameter ,it will reset environment by default.This week I debug script to catch this case. How to  change

2011-09-24 14:45:11 756

原创 jenkins如何得到谁启动了build

在jenkins邮件列表中,有人问到了这个问题,解决的方法是:curl -X POST "$JENKINS_URL/job/$JOB_NAME/$BUILD_NUMBER/api/xml?xpath=//cause/userName/text()"这样的话,你就可以做些发邮件的功能。详见:http://jenkins.361315.n4.nabble.com/Can-I-capture-who-l

2011-07-03 08:44:48 3897 1

原创 基于jenkins的持续集成测试

       测试是持续集成流程中重要的一环,也是区别去传统的软件开发流程中的一个重要的标志。为什么要有持续集成测试呢?1 可以早点发现bug,这就是fix bug代价比较小   可以平滑产品的发布   可以提高产品的质量2 可以让team中的每个人了解产品的质量状态   每天都有持续集成测试的报告发布   开发者也对自己提交的代码测试情况有比较清晰的了解3 可

2011-06-25 18:35:00 6928

原创 Hudson/Jenkins 启动GUI工具

Hudson/Jenkins 启动gui 测试工具

2011-04-30 08:22:00 3230 3

原创 git如何合并只有两个commit到一个?

<br />   这个是一个同事让我把他的repository若干个commit变成一个,我用git rebase -i合并到最后发现剩下只有两个commit的时候,git rebase -i不再起作用,于是我求助了git maillist,果然很快有人给出了答案:<br />$ git reset --soft HEAD^1<br />$ git commit --amend<br /> <br />我不得不说git邮件列表是我知道的最棒的一个,尽管曾经我提交了一个git 的patch不合理地被拒,这里很

2011-03-29 20:52:00 21718 6

原创 如何得到jenkins build number?

      在使用jenkins持续集成工具做分布式的时候,在另外一个job B中需要得到job A的build number,尽管通过恒定链接可以得到artifactshttp://jenkinsserver:8080/job/jobname/lastBuild  可以通过读取 http://jenkinsserver:8080/job/jobname/lastBuild/buildNumber 得到另外一个jobA的lastbuild build number

2011-03-27 15:03:00 10302 2

原创 Jenkins Windows master和Linux slave

<br />    当我们选择windows 为jenkins master 和Linux slave时候,ssh应该是最佳的方式。由于jenkins有内嵌的ssh client,所以只要在unix slave上安装ssh server,就可以了,在配置的时候,填充host/username/passwd 就可以了。

2011-02-14 20:39:00 2827

原创 shell脚本搜集

<br />  常用的脚本搜集<br /> <br />1 在行尾插入字符<br />sed 's/$/input string/' file

2010-10-11 15:13:00 918

原创 hudson用于自动发提醒邮件在代码提交到仓库之后

<br />前天一位同事希望他们的svn 代码仓库能够有自动发邮件提醒功能在代码提交到仓库之后,其中经典的解决方法是在post-commit上使用svnnotify来实现,这个需要在server端,但是现在有了hudson,其实完全可以在这里实现<br />     新建一个job,然后build trigger选择poll scm<br /> <br />* * * * *<br />然后 在email notification 中自定义。<br /> <br />这就表示每分钟去查询一次repo,如果有

2010-10-10 16:41:00 1983 2

原创 如何在windows成功升级hudson

<br />本来这个事情很简单,只要你安装完成hudson之后,把它设成为windows service,然后再系统管理页面上点击自动升级(如果有新版本放出),升级完然后点击“Restart when No jobs are running",很奇怪我几乎每次都在这个地方挂了,页面始终停留在"please wait...."。刚刚用了下面的方法似乎可以搞定:不要点击Restart when No jobs are running 按钮当你完成升级之后,到系统管理页面里选择shutdown(准备关机),然后重

2010-10-08 03:12:00 1101

原创 Hudson备份/移动

<br />     这个对于产品级的应用很重要,因为一旦系统down了,恢复是非常重要的事情,如果能够恢复到原样就最好了。<br />    在hudson中,备份一个job,只要把job目录给备份好然后移动到新的hudson server上就可以了,推而广之,如果想备份整个hudson server,那么备份整个hudson_home就可以了,这样在hudson应用到产品中,就能有好的备份机制可以是工作无缝运行

2010-10-03 18:43:00 1899

原创 make: jobserver unavailable: using -j1

<br />   这个是在使用并行编译的时候发生的,http://www.delorie.com/gnu/docs/make/make_130.html<br /> <br />warning: jobserver unavailable: using -j1. Add `+' to parent make rule.'In order for make processes to communicate, the parent will pass information to the child. Sinc

2010-09-25 21:06:00 9081 3

原创 hudson卸载plugin

<br /> 在hudson plugin管理界面上,可以提供安装,升级,降级(部分),禁止(disable),但是没有提供卸载plugin的功能,这点很奇怪,就比如你只能安装软件,却不能卸载,现在的方面只能手动删除stop hudson servicedelete hpi file and corresponding folderstart hudson serivice<br /> <br />我在邮件列表中问了此事,早已经有人提出的feature了http://issues.hudson-ci.org

2010-09-23 08:27:00 2015

原创 hudson分布式构建step by step

      我所在的group的产品有Linux,也有Windows,当然我不想为每个产品setup一个Hudson,进行了仔细的研究发现Hudson支持分布式构建,太好了,正好符号我的要求,希望有一个统一的中央界面来管理所有的产品,无论什么平台,无论使用什么source control ,无论build server在哪里,分布式构建一一满足。

2010-09-16 15:41:00 1229

原创 Avoiding ``No rule to make target ...'' Errors

<br />  在GNU make手册4.14节 给出一种基本的自动生成依赖关系的rules %.d: %.c @set -e; rm -f $@; / $(CC) -M $(CPPFLAGS) $< > $@.$$$$; / sed 's,/($*/)/.o[ :]*,/1.o $@ : ,g' < $@.$$$$ > $@; / rm -f $@.$$$$大部分情况下这个都是可以

2010-09-16 11:19:00 1386

原创 备份git代码仓库

<br />    在使用任何一种代码管理工具的时候,备份都是一件非常重要的事情。我就曾经遇到过真实的案例,我们的中央代码仓库由于脚本的bug被删除了,我们就迅速地完成了无缝恢复,这都感谢伟大的git. 备份git仅用寥寥几行代码就可以做到<br />git clone --mirror $(url}/{repo}pushd ${repo}git remote updatepopd <br />然后你可以使用cron 去按时update就可以了

2010-09-04 08:16:00 10851 4

原创 make-kpkg 没有生成initrd 文件

      在升级了ubuntu 10.04之后,再去build kernel,发现你即使使用了 make-kpkg --initrd kernel_image

2010-08-22 14:09:00 1697

原创 Cannot umount /proc after using update-binfmts in a chroot

     最近一个星期是最忙的,因为计划在一个时间点升级ubuntu 到10.04,遇到了很多的问题,大多是ubuntu 自带的"bug",我们的rootfs是通过debootstrap生成的,然后chroot去再额外安装一些包,但是无法umount /proc,是因为在debootstrap后binfmt_misc mount 东西到了//proc/sys/fs/binfmt_misc/,这样你就没有办法umount /proc了,解决方法很简单,先umount binfmt_misc,然后在umount

2010-08-22 14:04:00 836

原创 cgit patch被接受

<br />http://hjemli.net/git/cgit/commit/?id=ab610292014c938a8f4e4004e9365bfc6cf9cbd6<br /> <br /> <br />这是我参与的第二个开源项目

2010-07-23 19:34:00 711

原创 修正了cgit 项目中makefile的一个Bug

<br />今天在编译cgit的时候,发现了makefile的一个bug,就是在make clean的时候,仍然编译依赖性文件,因为它写了-include <br />From 34e02bbf386cda9009da3cce112658e738efb175 Mon Sep 17 00:00:00 2001From: Lynn Lin <Lin_Lynn@emc.com>Date: Thu, 15 Jul 2010 14:38:06 +0800Subject: [PATCH] When en

2010-07-15 22:47:00 914

原创 ubuntu 10.04 runlevel unknown

<br />         前段时间,我正在把项目中的build/release环境(ubuntu 8.04 LTS)升级到ubuntu 10.04 LTS,遇到一个启动后串口无法启动的问题,但是通过ssh登录进去,通过手工可以启动,经过2天的调试,原来是由于runlevel 是unknown导致的,所以在runlevel 2里面的程序都没有执行,通过google发现了很多人在升级kernel或者系统后出现了这个问题,但是没有解决方法,只有一些work around,lunchpad里面列了一些<br /

2010-07-10 17:18:00 5571 1

原创 error: 'uint32_t' does not name a type with gcc 4.4 compile

   由于gcc 4.4 编译器已经在c++ includer上做了一些清理,所以我们必须显示地include一些头文件,在openembedded中的apt-native 就无法在gcc 4.4下面编译,我就提交了一个patch去fix ,commit link :http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=709663f88c8b03a14c51b5135bea373fc80efb87authorLynn Lin 2010-

2010-07-04 09:55:00 9764

原创 [how to] 如何在ubuntu上安装cgit

<br />   cgit 是一种git 代码浏览工具,类似gitweb,但是更快速,openembedded,freedeskop等项目都在采用cgit。我就尝试在我的ubuntu 10.04安装了cgit,感觉不错。步骤如下:安装cgit<br />两种选择:1 直接用deb二进制包安装,点击这里去下载<br />                  2 编译源代码,参考官方readme安装apache2假设你的DocumentRoot 是/var/www<br />$ s

2010-07-03 16:38:00 6661 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除