环境搭建流程修改.docx
《环境搭建流程修改.docx》由会员分享,可在线阅读,更多相关《环境搭建流程修改.docx(45页珍藏版)》请在冰点文库上搜索。
环境搭建流程修改
目录
一、Ruby1
1.Ruby解释器和库管理软件的安装1
2.Rails的安装3
二、Java5
1.安装详解5
三、NetBeans6.88
四、MySQL的安装12
五、Mongrel的安装(可选)19
1.安装必备的gem包19
六、新建一个项目20
七、关于cvs23
2.CVS环境初始化24
3.CVS的日常使用25
4.CVSBranch:
项目多分支同步开发27
5.CVS的远程认证通过SSH远程访问CVS28
6.CVSWEB:
提高文件浏览效率29
7.CVSTAGS:
$Id$30
8.CVSvsVSS31
9.WinCVS32
10.基于CVSTrac的小组开发环境搭建32
11.CVS的用户权限管理35
一、Ruby
1.Ruby解释器和库管理软件的安装
双击安装文件
点击“Next”,然点击“agree”
记得勾选“EnableRubyGems”这是一个库管理软件
然后选择安装路径安装,等待安装完成。
(前面已经有很多例子了,在这里就不再赘述)
单击击“Next“,然后单击“Finished”完成。
2.Rails的安装
开始菜单—附件—打开命令提示符
输入geminstallrails并回车
用个方法当网速慢时容易出错
还有一个方法,先下载安装Rails需要的安装文件,把这些文件放在Ruby的安装目录下。
要下载、安装同一版本的文件。
(非黄色的没必要安装,之前我没注意,安装了其它的版本)
这些文件可以在http:
//rubyforge.org/projects/<文件名>里找到
例:
http:
//rubyforge.org/projects/rails
http:
//rubyforge.org/projects/actionmailer
每次安装时在命令提示符下,输入
GeminstallXXXXXX--local
其中“XXXXXX”表示完整的文件名
“--local”表示本地文件安装
此版本少了“--local”会直接在网上下载,然而很多时候都会下载失败,所有后面一定要加上“--local”。
这些文件要按一定的顺序安装(大家觉得麻烦的话,可以试下这个顺序,如果不对帮忙修改一下)
刚刚发现一个文档:
先打开
在浏览器上输入http:
//localhost:
8808/
其中有各个gem的依存关系:
1.activesupport
2.activerecord
3.activeresource
4.actionpack(安装这个需要rake,只需先执行:
geminstallrake就行了)
5.actionmailer
6.rails
若版本不同也可看提示安装(不同版本所需文件会有差异)
(有提示:
)
(这表示安装rails-2.3.3.gem,要先安装actionpack-2.3.3.gem)
若安装成功
像:
安装成功后输入:
rails–v
就可以看到你所安装的rails的版本了。
二、Java
请先安装JDK,不然会出现下面的窗口:
3.安装详解
开始安装
双击应用程序----〉〉
单击“接受”---〉〉
单击“下一步”
(如果需要更改目录,请按“更改”,但请注意:
NetBeans的安装目录页应与此软件相同)
开发工具(JDK)<---要编程序就要安这个,它包含编程必要的工具。
公共JRE<--运行java的运行环境
演示程序源代码<--可安可不安
源代码<--可安可不安,帮你深入了解java里面类是怎么用java程序编辑出来的
JavaDB<--Java6里的数据库
(本人的主分区是H盘,一般的主分区都是C盘)
---〉〉
如果完全安装的话会弹出窗口:
点击“下一步”(当前目录可更改)---〉〉
等待安装完成;
安装成功控制面板---程序和功能里会有
三、NetBeans6.8
双击此应用程序----〉〉
取消SunGlassFishEnterpriseServerv3前面的勾(如上图)
(不需要安装这个软件)
然后单击“下一步”
勾选“我接受许可证协议中的条款”
单击“下一步”---〉〉
NetBeansIDE的安装路径可更改
用于NetbeansIDE的Java™环境不用更改
单击“安装”----〉〉
等待安装结束,单击“完成”。
文件复制过程中出现一点小小问题:
路径
四、MySQL的安装
(mysql版本5.0.*都可以)
单击“next”
Typical典型安装就可以了。
安装完成后会有出现创建MySQL.com帐号的界面,如果是首次使用MySQL,选“CreateanewfreeMySQL.comaccout”
创建帐号
点“Next”,输入你的Email地址和自己设定的用于登录MySQL.com的密码,见图3.7.1。
设定帐号
填完后点“Next”进入第二步。
基本资料
在这里填写姓名等相关信息,填完点“Next”,进入第三步。
联系方式
填完电话号码、公司名称等信息后,点“Next”,然后出现预览你刚才填的信息的界面,再点“Next”出现安装完成界面
注意,这里有个配置向导的选项(ConfiguretheMySQLServernow),建议勾选立即配置你的MySQL。
如果安装完MySQL后无法启动,原因就在于没有配置MySQL。
点击“Finish”完成安装,并开始配置MySQL
(如果没有勾选也可以在开始菜单里找到)
安装完成。
弹出:
点“Next”,进入配置类型选择页面。
选“Detailedconfiguration”(详细配置),Next
点“Next”,进入服务类型选择页面。
选“DeveloperMachine”(开发者机器),这样占用系统的资源不会很多
点“Next”后,进入数据库用法选择页面。
选择“MultifunctionalDatabase”
点“Next”,进入选择InnoDB数据存放位置页面
然后点“Next”,选择MySQL的同时联接数
点击“Next”
字符集设置
注意,这里的选择将会影响你是否能在MySQL中使用中文。
我们选择gb2312字符集以便支持简体中文,繁体中文选big5。
点“Next”,设置Windows服务选项
注意,这里的选择很关键。
“InstallAsWindowsService”一定要勾选,这是将MySQL作为Windows的服务运行。
“ServiceName”就用默认的“MySQL”或者你喜欢的服务名(推荐用默认的“MySQL”)。
下面的“LaunchtheMySQLServerautomatically”一定要勾选,这样Windows启动时,MySQL就会自动启动服务,要不然就要手工启动MySQL。
安装MySQL后无法启动、无法连接、出现10061错误,原因就在这里。
点“Next”,设置根帐号root的登录密码,
“ModifySecuritySettings”是设置根帐号的密码,输入你设定的密码即可。
“CreateAnAnonymousAccount”是创建一个匿名帐号,这样会导致XX的用户非法访问你的数据库,有安全隐患,建议不要勾选。
点“Next”,MySQL配置向导将依据你上面的所有设定配置MySQL,以便MySQL的运行符合你的需要
点“Execute”开始配置,当出现“Servicestartedsuccessfully”时,说明你的配置完成,MySQL服务启动成功finish”完成,整个MySQL的配置完成,剩下的就是用MySQL客户端连接MySQL服务器,然后使用了。
输入命令:
geminstallmysql(安装驱动)
五、Mongrel的安装(可选)安装必备的gem包
在命令提示符下输入
geminstallmongrel
六、新建一个项目
然后点击完成。
这个项目会自动打开文件database.yml
其中有:
把database后面的改成:
mysql(我试过了,不改就不能看到最后成功的图片了。
)(这是因为mysql数据库是默认创建的,如果自己要新的数据库,要自己创建。
)
把username(用户名)
Password(密码)填上就可以了。
(我的没有设置密码)
运行后,浏览器上显示首页
点击“Aboutyourapplication’senvironment”有:
完成了。
七、遇到的问题与解决办法
1.关于安装驱动出错tryagain:
geminstallmysql
一般来说,安装了这个软件都会有自带的mysql驱动。
只不过这个驱动会慢一点,但还可以用。
如果之前大家用geminsallmysql命令,会安装一个用C语言写的运行比较快的驱动。
如果使用geminstallmysql命令也是可以的。
选择上图中的MySQL(Connector/Jdirver)
然后右键连接设置:
按确定以后,出现
确定有你所需要的数据库就可以了。
如果没有在
右键“创建数据库”然后填入你所需要的数据库名称,IDE(Netbeans)就会帮你创建你所需要的数据库。
创建数据库也可以用Navicat这个软件来完成。
八、关于cvs
CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。
工作模式如下:
CVS服务器(文件版本库)
/|\
(版本同步)
/|\
开发者1开发者2开发者3
作为一般开发人员挑选2,6看就可以了,CVS的管理员则更需要懂的更多一些,最后还简单介绍了一些Windows下的cvs客户端使用,CVS远程用户认证的选择及与BUG跟踪系统等开发环境的集成问题。
1.CVS环境初始化:
CVS环境的搭建管理员
2.CVS的日常使用:
日常开发中最常用的CVS命令,开发人员管理员
3.CVS的分支开发:
项目按照不同进度和目标并发进行管理员
4.CVS的用户认证:
通过SSH的远程用户认证,安全,简单管理员
5.CVSWEB:
CVS的WEB访问界面大大提高代码版本比较的效率管理员
6.CVSTAG:
将$Id$加入代码注释中,方便开发过程的跟踪开发人员
7.CVSvsVSS:
CVS和VirsualSourceSafe的比较开发人员管理员
8.WinCVS:
通过SSH认证的WinCVS认证设置
9.基于CVSTrac的小组开发环境搭建:
通过CVSTrac实现web界面的CVS用户管理,集成的BUG跟踪和WIKI交流
10.CVS中的用户权限管理:
基于系统用户的CVS权限管理和基于CVSROOT/passwd的虚拟用户管理
一个系统20%的功能往往能够满足80%的需求,CVS也不例外,以下是CVS最常用的功能,可能还不到它全部命令选项的20%,作为一般开发人员平时会用cvsupdate和cvscommit就够了,更多的需求在实际应用过程中自然会出现,不时回头看看相关文档经常有意外的收获。
1.CVS环境初始化
环境设置:
指定CVS库的路径CVSROOT
tcsh
setenvCVSROOT/path/to/cvsroot
bash
CVSROOT=/path/to/cvsroot;exportCVSROOT
后面还提到远程CVS服务器的设置:
CVSROOT=:
ext:
$USER@test.server.address#port:
/path/to/cvsrootCVS_RSH=ssh;exportCVSROOTCVS_RSH
初始化:
CVS版本库的初始化。
cvsinit
一个项目的首次导入
cvsimport-m"writesomecommentshere"project_namevendor_tagrelease_tag
执行后:
会将所有源文件及目录导入到/path/to/cvsroot/project_name目录下
vender_tag:
开发商标记
release_tag:
版本发布标记
项目导出:
将代码从CVS库里导出
cvscheckoutproject_name
cvs将创建project_name目录,并将最新版本的源代码导出到相应目录中。
这个checkout和VirvualSourceSafe中的checkout不是一个概念,相对于VirvualSourceSafe的checkout是cvsupdate,checkin是cvscommit。
4.CVS的日常使用
注意:
第一次导出以后,就不是通过cvscheckout来同步文件了,而是要进入刚才cvscheckoutproject_name导出的project_name目录下进行具体文件的版本同步(添加,修改,删除)操作。
将文件同步到最新的版本
cvsupdate
不制定文件名,cvs将同步所有子目录下的文件,也可以制定某个文件名/目录进行同步
cvsupdatefile_name
最好每天开始工作前或将自己的工作导入到CVS库里前都要做一次,并养成“先同步后修改”的习惯,和VirvualSourceSafe不同,CVS里没有文件锁定的概念,所有的冲突是在commit之前解决,如果你修改过程中,有其他人修改并commit到了CVS库中,CVS会通知你文件冲突,并自动将冲突部分用
>>>>>>
contentoncvsserver
<<<<<<
contentinyourfile
>>>>>>
标记出来,由你确认冲突内容的取舍。
版本冲突一般是在多个人修改一个文件造成的,但这种项目管理上的问题不应该指望由CVS来解决。
确认修改写入到CVS库里
cvscommit-m"writesomecommentshere"file_name
注意:
CVS的很多动作都是通过cvscommit进行最后确认并修改的,最好每次只修改一个文件。
在确认的前,还需要用户填写修改注释,以帮助其他开发人员了解修改的原因。
如果不用写-m"comments"而直接确认`cvscommitfile_name`的话,cvs会自动调用系统缺省的文字编辑器(一般是vi)要求你写入注释。
注释的质量很重要:
所以不仅必须要写,而且必须写一些比较有意义的内容:
以方便其他开发人员能够很好的理解
不好的注释,很难让其他的开发人员快速的理解:
比如:
-m"bugfixed"甚至-m""
好的注释,甚至可以用中文:
-m"在用户注册过程中加入了Email地址校验"
修改某个版本注释:
每次只确认一个文件到CVS库里是一个很好的习惯,但难免有时候忘了指定文件名,把多个文件以同样注释commit到CVS库里了,以下命令可以允许你修改某个文件某个版本的注释:
cvsadmin-m1.3:
"writesomecommentshere"file_name
添加文件
创建好新文件后,比如:
touchnew_file
cvsaddnew_file
注意:
对于图片,Word文档等非纯文本的项目,需要使用cvsadd-kb选项按2进制文件方式导入(k表示扩展选项,b表示binary),否则有可能出现文件被破坏的情况
比如:
cvsadd-kbnew_file.gif
cvsadd-kbreadme.doc
如果关键词替换属性在首次导入时设置错了怎么办?
cvsadmin-kkvnew_file.css
然后确认修改并注释
cvsci-m"writesomecommentshere"
删除文件
将某个源文件物理删除后,比如:
rmfile_name
cvsrmfile_name
然后确认修改并注释
cvsci-m"writesomecommentshere"
以上面前2步合并的方法为:
cvsrm-ffile_name
cvsci-m"whydeletefile"
注意:
很多cvs命令都有缩写形式:
commit=>ci;update=>up;checkout=>co/get;remove=>rm;
添加目录
cvsadddir_name
查看修改历史
cvslogfile_name
cvshistoryfile_name
查看当前文件不同版本的区别
cvsdiff-r1.3-r1.5file_name
查看当前文件(可能已经修改了)和库中相应文件的区别
cvsdifffile_name
cvs的web界面提供了更方便的定位文件修改和比较版本区别的方法,具体安装设置请看后面的cvsweb使用
正确的通过CVS恢复旧版本的方法:
如果用cvsupdate-r1.2file.name
这个命令是给file.name加一个STICKTAG:
"1.2",虽然你的本意只是想将它恢复到1.2版本
正确的恢复版本的方法是:
cvsupdate-p-r1.2file_name>file_name
如果不小心已经加成STICKTAG的话:
用cvsupdate-A解决
移动文件/文件重命名
cvs里没有cvsmove或cvsrename,因为这两个操作是可以由先cvsremoveold_file_name,然后cvsaddnew_file_name实现的。
删除/移动目录
最方便的方法是让管理员直接移动,删除CVSROOT里相应目录(因为CVS一个项目下的子目录都是独立的,移动到$CVSROOT目录下都可以作为新的独立项目:
好比一颗树,其实砍下任意一枝都能独立存活),对目录进行了修改后,要求其开发人员重新导出项目cvscheckoutproject_name或者用cvsupdate-dP同步。
项目发布导出不带CVS目录的源文件
做开发的时候你可能注意到了,每个开发目录下,CVS都创建了一个CVS/目录。
里面有文件用于记录当前目录和CVS库之间的对应信息。
但项目发布的时候你一般不希望把文件目录还带着含有CVS信息的CVS目录吧,这个一次性的导出过程使用cvsexport命令,不过export只能针对一个TAG或者日期导出,比如:
cvsexport-rrelease1project_name
cvsexport-D20021023project_name
cvsexport-Dnowproject_name
5.CVSBranch:
项目多分支同步开发
确认版本里程碑:
多个文件各自版本号不一样,项目到一定阶段,可以给所有文件统一指定一个阶段里程碑版本号,方便以后按照这个阶段里程碑版本号导出项目,同时也是项目的多个分支开发的基础。
cvstagrelease_1_0
开始一个新的里程碑:
cvscommit-r2标记所有文件开始进入2.x的开发
注意:
CVS里的revsion和软件包的发布版本可以没有直接的关系。
但所有文件使用和发布版本一致的版本号比较有助于维护。
版本分支的建立
在开发项目的2.x版本的时候发现1.x有问题,但2.x又不敢用,则从先前标记的里程碑:
release_1_0导出一个分支release_1_0_patch
cvsrtag-b-rrelease_1_0release_1_0_patchproj_dir
一些人先在另外一个目录下导出release_1_0_patch这个分支:
解决1.0中的紧急问题,
cvscheckout-rrelease_1_0_patch
而其他人员仍旧在项目的主干分支2.x上开发
在release_1_0_patch上修正错误后,标记一个1.0的错误修正版本号
cvstagrelease_1_0_patch_1
如果2.0认为这些错误修改在2.0里也需要,也可以在2.0的开发目录下合并release_1_0_patch_1中的修改到当前代码中:
cvsupdate-jrelease_1_0_patch_1
6.CVS的远程认证通过SSH远程访问CVS
使用cvs本身基于pserver的远程认证很麻烦,需要定义服务器和用户组,用户名,设置密码等,
常见的登陆格式如下:
cvs-d:
pserver:
cvs_user_name@cvs.server.address:
/path/to/cvsrootlogin
例子:
cvs-d:
pserver:
cvs@samba.org:
/cvsrootlogin
不是很安全,因此一般是作为匿名只读CVS访问的方式。
从安全考虑,通过系统本地帐号认证并通过SSH传输是比较好的办法,通过在客户机的/etc/profile里设置一下内容:
CVSROOT=:
ext:
$USER@cvs.server.address#port:
/path/to/cvsrootCVS_RSH=ssh;exportCVSROOTCVS_RSH
所有客户机所有本地用户都可以映射到CVS服务器相应同名帐号了。
比如:
CVS服务器是192.168.0.3,上面CVSROOT路径是/home/cvsroot,另外一台开发客户机是192.168.0.4,如果tom在2台机器上都有同名的帐号,那么从192.168.0.4上设置了:
exportCVSROOT=:
ext:
tom@192.168.0.3:
/home/cvsroot
exportCVS_RSH=ssh
tom就可以直接在192.168.0.4上对192.168.0.3的cvsroot进行访问了(如果有权限的话)
cvscheckoutproject_name
cdproject_name
cvsupdate
...
cvscommit
如果CVS所在服务器的SSH端口不在缺省的22,或者和客户端与CVS服务器端SSH缺省端口不一致,有时候设置了:
:
ext:
$USER@test.server.address#port:
/path/to/cvsroot
仍然不行,比如有以下错误信息:
ssh:
test.server.address#port:
Nameorservicenotknown
cvs[checkoutaborted]:
endoffilefromserver(consultabovemessagesifany)
解决的方法是做一个脚本指定端口转向(不能使用alias,会出找不到文件错误):
创建一个/usr/bin/ssh_cvs文件,假设远程服务器的SSH端口是非缺省端口:
34567
#!
/bin/sh
/usr/bin/ssh-p34567"$@"
然后:
chmod+x/usr/bin/ssh_cvs
并CVS_RSH=ssh_cvs;ex