ubuntu 下安装hudson, 集成Git
由于项目需要, 最近在研究hudson与GIt的集成, 安装过程中遇到了一些问题, 在这里记录一下:
?
我的项目是, git, 并安装gitosis, 再用hudson做集成管理。
?
?
1. ?首先尝试在ubuntu 下直接安装 hudson, 按照官网的指示,安装成功
?
http://wiki.hudson-ci.org/display/HUDSON/Installing+Hudson+on+Ubuntu
?
2. 启动 hudson
? ?sudo service hudson start
?
3. ?访问 Http://localhost:8080
?
配置hudson,选择自动安装jdk, 自动安装maven,自动安装ant
在此过程中遇到错误, 访问sun去下载jdk总是报连接timeout,
由于公司是有proxy的, 所以需要在在plugin 的advanced 下面配置公司的代理服务器;
?
又出现新的错误, 报socket错误, 错误是下载jdk过程遇到的, 于是取消自动下载jdk, 配置成系统中已有的jdk路径,ok!
?
在 available plugin 下选择 git plugin, 安装, 并重启hudson。
?
?
? 4. new job--> 选则 git, 并填好git 路径 --> save
?
?
?5. ?build project, 问题出现了,这里报告 cannot clone git ....., host key verification failed!!!
? ? ? google,baidu之,尝试了很多方法都没有解决。 以至于我的系统都被我该坏了, 悲剧的重装系统!!
?
?6. ?最后终于解决了, 我的git服务器, 跟hudson服务器是同一台机器,又使用了gitois做认证, 似乎存在认证的问题, 解决办法是
?
不使用linux的命令安装hudson,而是下载个hudson.war, 把它部署到tomcat下。
?
再次build project, ok, checkout lastest code successfully!!
?
?
7. ?集成maven
? ? ?项目也用到了maven,添加maven build 命令 clean, package。?
再次build project, 出现 ?java_home is not defined correctly we cannot execute java
很奇怪,已经配置了jdk,还报这个错误,解决办法:
安装另一个jre, hardcode mvn中的javahome,如下红色代码所示:
?
vi?:~/.hudson/tools/Maven/bin/mvn
?
?
if [ -z "$JAVACMD" ] ; then
? if [ -n "$JAVA_HOME" ?] ; then
? ? if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
? ? ? # IBM's JDK on AIX uses strange locations for the executables
? ? ? JAVACMD="$JAVA_HOME/jre/sh/java"
? ? else
? ? ?# JAVACMD="$JAVA_HOME/bin/java"
? ? ? JAVACMD="/usr/lib/jvm/java-6-openjdk/jre/bin/java"
? ? fi
? else
? ? JAVACMD="`which java`"
? fi
fi
再次build Project, 刚才的错误消失了!
?
8. 郁闷啊, 新的错误又出现了:
[ERROR] COMPILATION ERROR : [INFO] -------------------------[ERROR] Unable to locate the Javac Compiler in: /usr/lib/jvm/java-6-openjdk/jre/../lib/tools.jarPlease ensure you are using JDK 1.4 or above andnot a JRE (the com.sun.tools.javac.Main class is required).In most cases you can change the location of your Javainstallation by setting the JAVA_HOME environment variable.
?
?
真TMD的悲剧, 问题一堆堆啊, 又是一阵搜索, 解决办法:
?
在刚才配置的jre路径:?usr/lib/jvm/java-6-openjdk/ 创建 dir: lib
然后丢个 tools.jar 进去!!
?
再次build, OK!!!
?
内牛满面啊!!!
?
?
?