发布新日志

  • windows上面搭建hudson服务器

    2012-09-21 14:56:49

    【工具】
    1、安装jdk
    2、安装ant
    3、安装apache-tomcat-6.0.29.tar.gz(直接解压)
    4、安装hudson-2.2.0.war(解压到tomcat的webapps目录)
    5、需要下载ant执行svn操作的jar包
       ganymed.jar、svnant.jar、svnClientAdapter.jar、svnjavahl.jar、svnkit.jar、JAVAHL-LICENSE、SVNCLIENTADAPTER-LICENSE(后面两个不知道啥用)

    【ant脚本】
    最重要的是ant脚本
    CI-build.xml
    另外设定了一个配置文件
    build.properties

    【最终实现】
    可以实现代码从SVN上面自动下载,记录更新的日志信息。
    自动打包、自动部署到linux环境上去。
    build_properties文件定义为
    ============================================================
    ##########################hudson系统配置####################################
    #hudson家目录
    hudson_home=C:/Documents and Settings/Administrator
    #部分插件存放目录
    plug.lib.dir=${hudson_home}/lib
    checkstyle.home=${plug.lib.dir}/checkstyle-5.4
    findbugs.home=${plug.lib.dir}/findbugs-1.3.9
    pmd.home=${plug.lib.dir}/pmd-4.2.5
    #cpd代码重复统计minimum最小值
    minimumTokenCount=20
    #sonar插件配置
    #sonar.host.ip=192.168.8.100
    sonar.host.ip=192.168.8.188
    sonar.port=9000
    #sonar.jdbc.url=jdbc:mysql://192.168.8.100:7706/sonar?characterEncoding=UTF8&useUnicode=true
    sonar.jdbc.url=jdbc:oracle:thin:@192.168.8.188:1521:oracle
    #sonar.jdbc.driverClassName=com.mysql.jdbc.Driver
    sonar.jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar

    antlib=/home/hudson/lib/antlib


    ##########################工程配置####################################
    #工程名
    appname=smconvert
    warname=${appname}.war
    zipname=${appname}.zip

    #工程webRoot目录名
    webRoot=WebRoot

    #构建后生成包存放路径
    filepath=${hudson_home}/work/main/${appname}

    #hudson工程构建路径(勿改)
    job.home=${hudson_home}/.hudson/jobs

    Count=I,II,III,IV

    #南京ftp发送路径
    NJ-I-Ftp.dir=/home/media/apache-tomcat/webapps
    #南京部署环境的IP地址
    NJ-I-Telnet.ip=192.168.8.107
    #南京部署环境的用户名
    NJ-I-Telnet.user=media
    #南京部署环境的密码
    NJ-I-Telnet.pwd=media

    #南京ftp发送路径
    NJ-II-Ftp.dir=/home/media/apache-tomcat/webapps
    #南京部署环境的IP地址
    NJ-II-Telnet.ip=192.168.8.190
    #南京部署环境的用户名
    NJ-II-Telnet.user=media
    #南京部署环境的密码
    NJ-II-Telnet.pwd=media

    #南京ftp发送路径
    NJ-III-Ftp.dir=/home/smconvert/apache-tomcat/webapps
    #南京部署环境的IP地址
    NJ-III-Telnet.ip=192.168.8.13
    #南京部署环境的用户名
    NJ-III-Telnet.user=smconvert
    #南京部署环境的密码
    NJ-III-Telnet.pwd=smconvert

    #南京ftp发送路径
    NJ-IV-Ftp.dir=/home/server/apache-tomcat/webapps
    #南京部署环境的IP地址
    NJ-IV-Telnet.ip=192.168.8.13
    #南京部署环境的用户名
    NJ-IV-Telnet.user=server
    #南京部署环境的密码
    NJ-IV-Telnet.pwd=server

    #南京ftp发送路径
    NJ-AUTO-Ftp.dir=/home/serverauto/apache-tomcat/webapps
    #南京部署环境的IP地址
    NJ-AUTO-Telnet.ip=192.168.8.168
    #南京部署环境的用户名
    NJ-AUTO-Telnet.user=serverauto
    #南京部署环境的密码
    NJ-AUTO-Telnet.pwd=serverauto

    #杭州测试ftp发送路径
    HZ-Ftp.dir=/home/server/apache-tomcat/webapps
    #杭州部署环境的IP地址
    HZ-Telnet.ip=10.166.112.94
    #杭州部署环境的用户名
    HZ-Telnet.user=server
    #杭州部署环境的密码
    HZ-Telnet.pwd=server


    #SVN提交人用户名
    svn.user=admin
    #提交人密码
    svn.passwd=admin
    #提交日志
    msg.commit=commit new RouterServer.jar
    logs.commit.msg=daily commit build logs
    ==========================================================
  • windows环境上搭建SVN服务器

    2012-09-20 16:53:19

    花了两天时间研究了下windows上面搭建svn服务器

    【工具】
    1、apache工具:
    http://httpd.apache.org/download.cgi
    网站中的httpd-2.0.64-win32-x86-no_ssl.msi文件
    2、svn服务器安装程序
    svnserver-v1.2.rar

    【安装后配置】
    1、修改apache的启动端口
    修改C:\Program Files\Apache Group\Apache2\conf目录中httpd.conf文件,修改为8080
    ===========================
    #Listen 12.34.56.78:80
    Listen 8080
    ===========================

    2、添加windows的环境变量
    系统变量Path中增加
    ;C:\Program Files\Apache Group\Apache2\bin

    3、复制svn的so文件到apache的modules目录中去
    D:\svn\backupsys\svn\bin目录中的 mod_authz_svn.so和mod_dav_svn.so
    拷贝到C:\Program Files\Apache Group\Apache2\modules目录中取

    4、建议把SVN bin目录中的dll文件全部拷贝到apache的bin目录中去,减少中间可能存在的错误
    D:\svn\backupsys\svn\bin中的所有dll文件拷贝到C:\Program Files\Apache Group\Apache2\bin去

    5、配置Apache的httpd.conf文件

    1)注销
    LoadModule dav_module modules/mod_dav.so
    LoadModule dav_fs_module modules/mod_dav_fs.so
    前面的#
    2)添加
    LoadModule dav_svn_module modules/mod_dav_svn.so
    LoadModule authz_svn_module modules/mod_authz_svn.so
    (个人认为是用来svn鉴权的)
    3)在dos窗口,通过命令创建svn目录
    svnadmin create D:\svn\backupsys\svnroot\doc
    4) 在dos窗口,通过命令创建用户密码文件
    htpasswd -c passwd.conf文件
    ( 放在D:\svn\backupsys\svnroot\doc\conf目录中 )   
    5) 在dos窗口,通过命令建立用户
    htpasswd -m passwd.conf admin admin
    (admin/admin) 

    6、手动新建访问的策略文件accesspolicy.conf(放在D:\svn\backupsys\svnroot\doc\conf目录中)
    ========================================
    [groups]
    admin123 = admin,lianzhi

    [iread:/]
    @admin123 = rw 
    ========================================
    a)新建组,组名随便起,这个里面定义新建的用户
    b)目录权限的设置
      [iread:/]代表下面的 <Location /iread> 中的 SVNPath 
    c)子目录可以设定可以为下面示例
    ==================================================
    [iRead_src:/branches/V100R001C03LCMR010/CMU_Main]
    @admin = rw
    @eReading_VM = rw
    * =

    [iRead_doc:/]
    @admin = rw
    @eReading_VM = rw
    * =
    ==================================================

    7、再次配置Apache的httpd.conf 
    =======================================
    <Location /iread> 
    # 设置url访问svn目录 
    DAV svn
    SVNPath "D:\svn\backupsys\svnroot/doc" 

    # our access control policy
    AuthzSVNAccessFile "D:\svn\backupsys\svnroot\doc\conf\accesspolicy.conf"

    # try anonymous access first, resort to real
    # authentication if necessary.
    Satisfy Any 
    Require valid-user 

    # 配置验证用户方式 
    AuthType Basic 
    AuthName "Subversion repositories" 
    AuthUserFile "D:\svn\backupsys\svnroot\doc\conf\passwd.conf" 
    require valid-user
    </Location>
    ======================================= 
    AuthzSVNAccessFile 指向的是 authz 的策略文件,详细的权限控制可以在这个策略文件中指定。访问文件 accesspolicy.conf 的语法与svnserve.conf和 Apache 的配置文件非常相似,以(#)开头的行会被忽略;在它的简单形式里,每一小节命名一个版本库和一个里面的路径;认证用户名是在每个小节中的选项名;每个选项的值描述了用户访问版本库的级别:r(只读)或者rw(读写),如果用户没有提到或者值留空,访问是不允许的; * 表示所有用户,用它控制匿名用户的访问权限;@符号区分组和用户。 


Open Toolbar