发布新日志

  • 私有云环境搭建实践之路-初始篇

    2017-07-18 18:29:29

       结合公司的实际情况,为自动化测试能够提供多台真机测试环境,和web、接口自动化测试环境的要求,综合考虑公有云的不安全性,因此打算实现公司的私有云环境。
    一、私有云技术栈论证阶段
        

  • ear,jar,war的区别

    2011-08-02 09:40:00

    Ear、Jar、War文件之间有何不同?它们分别使用在哪种环境下?

    在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式,但是它们的使用目的有所区别。

    Jar文件(扩展名为. Jar)包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等

    JAR   文件就是   Java   Archive   File,顾名思意,它的应用是与   Java   息息相关的,是   Java   的一种文档格式。JAR   文件非常类似   ZIP   文件——准确的说,它就是   ZIP   文件,所以叫它文件包。JAR   文件与   ZIP   文件唯一的区别就是在   JAR   文件的内容中,包含了一个   META-INF/MANIFEST.MF   文件,这个文件是在生成   JAR   文件的时候自动创建的。

    一般通过jar命令进行打包,如果通过winrar等工具打包,包中不会生成META-INF目录。

     

     

    War文件(扩展名为.War)包含全部Web应用程序。在这种情形下,一个Web应用程序被定义为单独的一组文件、类和资源,用户可以对jar文件进行封装,并把它作为小型服务程序(servlet)来访问。

    打war包也是通过jar命令操作,打包后同样会生成META-INF/MANIFEST.MF文件。

    如果打算将应用打成war包后做web应用发布,那么包内的内容必须符合web应用的目录结构。


    Ear文件(扩展名为.Ear)包含全部企业应用程序。在这种情形下,一个企业应用程序被定义为多个jar文件、资源、类和Web应用程序的集合。

    每一种文件(.jar, .war, .ear)只能由应用服务器(application servers)、小型服务程序容器(servlet containers)、EJB容器(EJB containers)等进行处理。]

    EAR文件包括整个项目,内含多个ejb module(jar文件)和web module(war文件)
    EAR文件的生成可以使用winrar zip压缩方式或者jar命令。

    jar:封装类
    war:封装web站点
    ear:可以封装ejb

  • RFT/eclipse下CVS 配置全功略

    2009-09-07 18:32:23

      1.安装 CVSNT server

    首先需要下载CVSNT server install software and install it in your sever.

      然后启动CVSNT control panel配置Repository configuration 选项卡,把路径指到需要共享的文件夹下面。

     Sample:D:/CVSROOT/Repository

      此时指定的文件夹下面就会出现CVSROOT文件,此时CVSNT 安装完成。

     2.创建管理员账号

     首先设置环境变量

    sample:

       变量名:CVSROOT

       变量值:D:/CVSROOT/Repository

     然后在运行中cmd命令行中输入增加普通用户的命令

      cvs passwd -a cvsadmin/cvs passwd -r administrator -a cvsadmin(administrator 是cvsadmin的别名,但是别名必须是操作系统中存在的用户)

      也可以在操作系统中创建用户,如cvsuser,然后执行命令

       cvs passwd -r cvsuser -a cvsadmin

     输入2次密码后,user创建成功。

    这个时候创建的user只是一个普通用户,下面把该用户设置为管理员权限。

    •  首先在指定的D:/CVSROOT/Repository下面找到CVSROOT文件,在这个文件下面创建一个admin文件,文件内容为:cvsadmin(user name),保存。(这一步的作用是在eclipse客户端能够看到CVSROOT文件)
    • 在eclipse客户端新建一个repository连接到本server上,

               需要准备的数据 :

                主机(server所在机子的ip地址)

                存储库路径(CVSNT control panel的Repository configuration 选项卡的name值)

                用户名(cvsadmin)

                 密码(创建用户时的密码)

                连接类型(pserver)

    • 连接成功之后可以看到CVSROOT文件夹,把该文件checkout到本地,并创建一个admin文件,然后在该文件中输入内容cvsadmin,保存并commit到server上。
    • 双击checklist文件,在checklist中追加一行

          <空格>admin<空格> 错误信息。

         保存并commit到server上。到此管理员权限设置完成。

        说明:checklist是维护的一个文件列表,可以放入系统自动build的用户自定义的系统文件列表。

    3.管理员登录服务器

      其实上面的连接服务器的过程就已经包含了管理员登录服务器的过程,就不在复述了。需要说明的是,CVSNT有2中用户验证方式:window和CVSNT混合验证方式,CVSNT单一验证方式。

       混合验证方式指的是这台机子上的用户以及在CVSNT上建立的用户都可以通过验证,而CVSNT单一验证方式只能让CVSNT上建立的用户通过验证,而这台机子上的用户无法通过验证。验证方式由config文件的SystemAuth的值来决定,如果是yes,则为混合验证方式;如果是no,则是单一验证方式。默认情况下是混合方式。

     为了安全保证,一般选择单一验证方式。

    方式是打开checkout到本地的config文件并且修改SystemAuth=no,保存并commit。

    4.创建普通用户和组

      创建普通用户的过程其实就是创建管理用户过程的子过程,上面已经提到了。在这里我告诉大家一个快捷的方法,如果你创建的不同的用户初始密码都相同的话,可以打开CVSROOT下面的passwd文件,直接在该文件下面添加多个user和密码。显示的密码是加密处理过的。

       格式是:username:password:servername

    sample:

           cvsadmin:$1$\N?l[Tii$uXUrYVW8YQM/4BuWX0Uxj1:share

       当然也可以使用命令创建不同用户名和密码

          cvs passwd -a username

      创建组的过程也比较简单,只需要在本地的CVSROOT下面新建一个group文件,在文件中输入内容

       group1:user1 user2

       group2:user3 user7

       ...............

      然后保存并commit就可以了。

    5.设置用户和组的读写权限

      CVS有两种读写权限的设置方法,一是粗粒度的,一是细粒度的。只有CVS管理员才能进行访问权限的修改。粗粒度的方法是在CVSROOT 中添加readers 或writers 文件来实现。在readers里添加的任何一个帐户对当前库只拥有读取权限,添加格式是每行一个帐户名。例如,我们在客户端的CVSROOT 目录里添加readers 文件,将之前的一个新建帐户user1 放到里面,然后commit 这个readers 文件到服务器。user1 就不能进行commit 了。实际的测试结果是在使用user1 登陆之后执行commit 指令,系统会报告正常执行完毕。但实际上,没有任何东西被commit,暴露了CVS在人机界面上的不完善。writers 文件的操作readers 完全一样。如果一个帐户名被同时写到两个文件里,此帐户只有只读权限。细粒度的方法是使用chacl 命令。例如/TestRep 里有3 个工程,project1、project2、project3。
    使用命令:
    cvs chacl -u user1 -a none -d project1,project2,project3
    cvs chacl -u user1 -a all -d project1
    cvs chacl -u user1 -a read,write -d project2
    cvs chacl -u user1 -a read -d project3
    可以让user1 拥有对project1 目录的完全控制权,对project2 目录的读写权,和对project3 目录的只读权。
    第一条命令首先删除user1 的所有权限,在随后的3 条命令里分别设置了3 个不同目录权限。

      我们也可以直接给组设置权限,这样一来组下面的用户就具有了和组相同的权限

      cvs chacl  -u group1 -a read -d project1

    说明:在实际使用的时候,如果在设置了SystemAuth=no之后,再添加用户,就会出现

    cvs [passwd aborted]: Only administrators can add or change another's password

    的错误,所以建议在添加完需要的普通用户之后再设置SystemAuth=no


     

         

        

     

Open Toolbar