Jenkins 安装配置
首先介绍一下Jenkins,如果你熟悉自动化构建的话,那么肯定听说过hudson。Jenkins是hudson的开发者跟Oracle撕bi之后,另立门户的一个hudson分支。当然这么说似乎不太靠谱,目前hudson已经不维护了毕竟,而Jenkins的开发社区还是很活跃的,各种插件层出不穷。总的来说,如果你不是已经习惯了hudson并且有一个能用的副本,都应该迁移到Jenkins。
下面说一下如何配置。
Jenkins的安装非常简单,只需要从Jenkins的主页上下载最新的jenkins.war文件然后运行 java -jar jenkins.war。如果需要配置运行参数可以如下设置一些环境变量。
JENKINS_ROOT=/home/harrychen/share/jenk...
post-review编码问题
windows下post-review遇到一个问题(不是我,不用windows)。python会报错:
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe6 in position xxx: ordinal not in range(128)
又是编码的问题啊,我不想去看post-review的源码,所以还是改默认环境的源码好了。找到rbtools\utils\process.py,import sys后面加两行:
reload(sys)
sys.setdefaultencoding("utf-8")
Ok.
partition算法的落点讨论
首先这里的partition算法指的是快速排序中把数据分区的算法,算法接受一个数列和一个值,返回一个位置,这个位置之前的元素都小于等于输入值,之后的元素都大于等于输入值。
算法如下:
还有一种常见的形式:
这里我们讨论下落点的情况,如果partition算法可以传入任何的value,而不是快排中那样从序列中随机获得一个值,那么结果就会有多重情况了。
maven download dependency挂住的问题
今天迁移工程到mac上,准备以后用mac作为主开发工具。迁移maven的时候发现,maven download会停在那里,如下:
解决如下:
怀疑http_proxy问题,去掉系统环境变量。无效
怀疑shadowsocks问题,关掉,无效。
maven配置问题,对比了默认配置,没什么错误的地方。
怀疑服务器问题,换成开源中国的maven源,ok,就是慢点。
继续等待,几分钟后报错: java.net.SocketException: Malformed reply from SOCKS server,似乎还是代理的问题。
查阅发现java还有自己的代理配置,见参考文献,去掉代理。貌似还是无效。
索性重启,搞定。
关于sendmail邮件服务器的搭建
还是reviewboard的事情,我们需要一个自己的邮件服务器来发通知邮件。sendmail是一个比较好的选择,搭建的方式很简单,安装sendmail,修改配置文件,修改local_host_name就行。如果不需要登陆验证,这样也就直接能用了。现在的问题是reviewboard是必须登陆验证的。至少看报错上是这样。
SMTPException: SMTP AUTH extension not supported by server. reviewboard
具体代码没细看,但是应该默认都有认证,只是认证方式不一样。我们telnet到25端口,执行
ehlo localhost
/usr/sbin/testsaslauthd -u username -p soh...
ps grep不显示grep自己本身的方法
主要两种方式:
不grep自己。
-v, --invert-match
Invert the sense of matching, to select non-matching lines.
所以:
ps xuf|grep python|grep -v grep
awk 略去最后一行。
ps xuf|grep python|awk 'NR>1{print p}{p=$2}'
解释下:第一行的时候,NR=1不打印,但是把pid存在p中,下一行打印,最后一行的时候,打印的是上一行的pid。
awk博大精深…
ReviewBoard客户端配置和代码review流程
Postreview 客户端配置
reviewboard是群众喜闻乐见的代码review工具。本文主要涉及客户端配置和review流程,server端配置见文档1。
首先安装python(必须的),之后安装post-review插件:
pip:
pip install –allow-external RBTools –allow-unverified RBTools RBTools
easy_install:
easy_install -U RBTools
LinuxRPM:
sudo yum install RBTools
直接安装:
git clone git://github.com/reviewboard/rbtoo...
480 post articles, 60 pages.