Linux上搭建ANT+SVN+CruiseControl+JIRA+Apache

来源:互联网 发布:电子产品软件规格书 编辑:程序博客网 时间:2024/04/18 23:08

  制定了学习计划就要趁着还烫手赶紧做,不然照我的个性又不知拖到什么时候了,马上进入正题。

  同类的文章有很多,自处我会列出我借鉴的博客,遇到的问题及解决方法供大家参考,谢谢!

 

  http://www.cnblogs.com/ivanyb/archive/2008/10/20/1315310.html

  http://www.linuxdiyf.com/viewarticle.php?id=178674

  http://kb.cnblogs.com/a/1780363/

 

  对了,我的环境是Redhat Enterprise 5,因为选择了典型安装所以可能没有让我选择需要安装什么,安装的时候连个Next都没按过就一路完成了,这点可能造成了我编译apache的时候发生错误。

 

  安装包:

1.jdk-6u17-linux-i586.bin;jre-6u17-linux-i586.bin;

2.JIRA: atlassian-jira-enterprise-4.1-standalone.tar.gz;

3.MySQL:MySQL-client-community-5.1.49-1.rhel5.i386.rpm;MySQL-server-community-5.1.49-1.rhel5.i386.rpm;

4.SVN:CollabNetSubversion-client-1.6.5-2.i386.rpm;CollabNetSubversion-server-1.6.5-2.i386.rpm;subversion-1.6.0.tar.gz;

5.Apche:httpd-2.2.16.tar.gz;apache-tomcat-6.0.20.tar.gz;

6.Ant:apache-ant-1.8.1-bin.tar.gz;

7.CC:cruisecontrol-bin-2.8.3.zip

 

Java安装没有什么特别, 上传到Linux服务器后, 修改安装文件权限后分别对jdek和jre进行安装, 后编辑/etc/profile文件设置环境变量. 这部分没有遇到什么问题, 就不多说了, 大家可以参考我引用的第一遍文章.

 

MySQL的安装, 同样没有什么问题, 分别安装Server和Client端即可. 在为jirauser分配权限得时候遇到了问题. 给用户所有权限得命令中

grant all privileges *.* on jirauser@"%" identified by 'password' with grant option;百分号处应加上双引号.

 

安装tomcat, 因为稍候要JIRA, 根据第一篇的方式没有设置CATALINA_HOME

 

安装JIRA, 这里多说两句我遇到的问题, 安装修改配置文件部分没有什么问题, 但是在通过localhost访问时不是cannot connect, 就是Status 404得错误. 在这里首先提醒大家可以查看JIRA安装路径下/logs/catalina.out文件查看错误信息. 我主要遇到的错误信息是, 没有设置jira_home.在log中会告诉你可以在JIRA得官网中得到解决方法.例如:

 

 

  修改了entityengine.xml的数据库后, 可能会出现数据库连接的错误, 也可通过对应地址解决问题.

 

  基本上JIRA的配置就没有什么问题了. 下面是apache和svn的安装.

  首先, 我在apache安装的过程当中遇到了无法编译的错误,提示"configure:error: no acceptable C Compiler". 感觉上应该是gcc和gcc++的包没有安装上, 搜了一下也没有什么其他办法, 就再把镜像文件插入一次, 打开Server folder, 选择gcc-4.1.2,gcc-c++-4.1.2进行安装, 会提示依赖其他包, 先将其他包依次安装后再安装gcc和gcc-c++包就可以了, 再次编译安装时就可以成功安装了. 安装Apache和SVN之后进行配置, 这部分也没什么问题, 配置之后即可通过IE访问了.

  在安装SVN的时候, 也遇到缺少相关包的问题, 又分别安装了neon, berkeley DB, sqlite, zlib, 这些安装就可以了. 在编译svn的时候, 通过configure命令, 将这些包的安装路径作为参数即可. 关于./configure命令的参数会在日后进行整理. 在这里我存在一个错误的概念, 我以为安装了SVN之后就可以通过svn的命令来commit, update了, 这是错误的,需要安装SVN的server端,并启动SVN服务才可以通过命令更新版本库.下面对SVN服务端的安装进行说明.

 

   对于代码管理部分, Linux环境上安装了CollabNet Subversion管理版本库, 在Windows上可通过Toroise Subversion进行checkin, commit等操作. 安装CollabNet SVN没有什么难点, 根据第二个链接中的步骤,下载相应的client和Server端rpm包, 直接安装即可.然后进行配置, CollabNet是自带apache的, 我用原有的apache进行访问, 所以配置询问是用Apache还是svnserve进行配置, 我选择的是svnserve, 其他的配置可根据个人情况进行配置了.

 

  最后是通过CruiseControl和ANT进行持续集成. CC的安装没有什么特别, 直接解压就可以. 因为我JIRA的服务用的是8080端口, 对于cc服务, 需要修改cruisecontrol.sh修改webport, 提示有两处需要修改, 否则即使服务启动成功后台也会抛出异常的. 配置config.xml文件和Ant的Build.xml. 首先说一下CC的文件结构./projects文件夹存放的是要进行编译的工程, 可将SVN版本库中的文件checkout到这个目录进行编译, /artifacts目录存放每次build完成后打出的jar包或者ear包.那么我们集成的时候就可以根据这些目录职能安排我们项目的build文件. 我的config.xml如下:

 

 这里的路径都指的是CC解压后的目录,例如projects,log. 工程的build.xml要达到的目的就是以目标为单位, 完成构建项目的一步步操作, 例如init, compile, build, run, clean等等. 调试build.xml的时候可先通过命令行对文件中的目标单个执行,确定每个目标执行无错后再一起执行, 这样可以刚方便的分析出哪步出了问题.

 

  这里再介绍几个目前我用到的SVN命令,方便大家使用.

1. 启动SVN服务: svnserve -d -r '你的版本库路径'

2. checkout: /opt/CollabNet_Subversion/bin/svn co URL -r (revision number) PATH(要checkout的路径,这里我设置的就是cc/projects目录,checkout此目录, 在构建时对此目录进行检查是否有更新)

3. update: /opt/CoolabNet_Subversion/bin/svn up PATH(/home/chang/Tool/CruiseContorl/cc2.8.3/projects/Test,指定要更新的路径)

4. import: import [PATH] URL, path为要导入库的文件路径,URL为库的路径.

 

  这里感谢坤哥在SVN方面的大力帮助,:), 还有其他朋友的博文支持. 由于还未深入了解CC和ANT的其他功能, 所以其他方面的使用还没有什么心得, 待获得更进一步认识后会持续更新. 我是第一次写这么有技术含量的活, 有哪里写的不合适的, 欢迎朋友们指正, 谢谢!