Sonar+Hudson+Maven构建系列之二:迁移Sonar

摘要:由于昨天在一台机器上安装的东西太多了,导致Linux机器上非常卡,一台Linux负担了jira, fisheye, confluence, sonar, hudson, mysql 等等,本来已经装好的sonar, hudson又要被移到另外一台服务器上去,又是一顿折腾,对Linux不熟悉的我,遇到好多问题,以下一一列出来:

1. 两台Linux之间如何进行,我要将另外一台linux里的东西拷到另一台Linux,找了好多办法都不管用,最终使用samba搞定

  a. 确定本地机器是否安装了samba: rmp -qa | grep samba,一般都已经装了,如果没装,可能自己要去找资料再装

  b. 更新smb.conf文件,该配置文件放在/etc/samba下面,先将以前的smb.conf文件备份,再新建一个smb.conf文件,并写入以下内容:

[global]

workgroup = CGPG

netbios name = cgp

server string = Linux Samba Server TestServer

security = share



[linuxshare]

path = /usr/local/myshare

writeable = yes

browseable = yes

guest ok = yes

    c. 启动samba(单独启动使用smbd和nmbd): service smb start, 停止使用service smb stop,重启:service smb restart

  d. 在windows访问\\IP\linuxshare,即可访问前面Linux机器上/usr/local/myshare的文件

  以上参考:http://blog.sina.com.cn/s/blog_93fe97a801016mhg.html

2. Sabma是布署好了,但是我访问的机器上linux,故使用windows的界面肯定不行,又进行查找:

  a. 使用smbclient可以登录到其他共享机器上:smbclient //IP/linuxshare

  b. 使用ls可以得到文件列表,然后使用get filename把文件复制到当前目录,但是我是需要复制整个目录,问题又来了

  c. 经过搜索,找到可以使用smbmount将共享目录挂载至当前机器的某个目录上去,使用后发现smb报:bash: smbmount: command not found,接着进行搜索,使用mount -t cifs替换smbmount,问题终于解决:

    mount -t cifs //IP/linuxshare /usr/local/sharefile

   这样/usr/local/sharefile就能被当成本地目录进行拷贝了,补充一下取消挂载命令:umount -l(待设备空闲时) /usr/loca/sharefile,当前挂载点:的几个命令[df], [mount -l], [more /etc/mtab]

  d. cp -r -f /usr/local/sharefile /usr/local/myproject

3. 紧接着将sonar复制至相应目录,更新sonar.properties数据库的ip,并打成war包,复制至TOMCAT/webapps/,这就不一一缀述了,Sonar详细说明请参照前一篇:Sonar+Hudson+Maven构建系列之一:安装Sonar,启动tomcat即可,启动了几次发现总是启动不了,后一查询发现这台机器没有装JDK

  以上参考: http://bbs.chinaunix.net/thread-1984203-1-1.html

        http://blog.sina.com.cn/s/blog_62449fcf0100xwmr.html

4. 安装JDK,直接从另外一台机器复制过来,然后配置:

export JAVA_HOME=/usr/jdk1.6.0_24

export PATH=$PATH:$JAVA_HOME/bin

以上参考:http://www.blogjava.net/gaojohn933/archive/2008/08/07/220784.html

5. 启动tomcat,打开:http://ip:8080/sonar,哈哈哈,启动成功,原先的sonar分析数据都还在,迁移成功。

 

后记:简单的一个文件复制,觉得自己走了很多弯路,根本原因是由于对linux不够熟悉,需要进一步学习这方面的知识。

你可能感兴趣的:(hudson)