- 博客(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
原创 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关注的人