在“森特OS”操作系统中搭建版本管理环境-svn(大乌龟)

 /** 小伙伴们,在*inx运维环境中手工提交开发代码很繁琐,有木有?

倘若多个开发人员、美工、提交指定文件的(增删改),我们是不是很无奈的直接替换源文件(哪怕只是很小的变更)?

难道真的没有两全其美的办法了么?答案必须是否定的,操作系统设计天生就是为应用而生!所以,在任何操作系统环境下,我们都能自动化的完成工作!

需求背景-概要说明:

由于网站经常更新,没有专职的系统管理员。由于代码比较频繁,手工上传效率比较低,为了提高工作效率,我决定将“森特OS”的服务器搭建“大乌龟(“小乌龟”的服务端)。

由于本人天生的偏执狂,遇到困难会想尽办法解决,决定搭建“大乌龟”。本着自动化运维的精神,整个过程非常高效顺利的完成了!

搭建-步骤:

我的需求很简单,完成“瘟都死”和“森特OS”的文件正常交换就可以了,完成以下步骤后,你的“大乌龟”就能在“森特OS”系统中翱翔了哦!

1)第一步,我们要先确定系统的环境,你可以输入

在#后输入 uname -a,回车,“森特OS”会返回当前系统的版本、位数等信息哦(这一步呢主要是确定你要安装匹配的版本,接下来给T穿上美丽的衣裳吧!)

我们在去#后输入rpm -qa subversion(这个就是乌龟),回车,“森特OS”会返回“乌龟”的安装情况,如果返回为空,就说明没有安装“乌龟”,反之,根据你的实际需求选择安装的版本(可以去这个网站下载最新的“乌龟”哦!--》http://subversion.apache.org;

如果你下载的是tar.gz/tar.bz2后缀的需要把“乌龟壳”给去掉,然后在你乌龟的目录下执行./configure (后面可以指定你要编译的目标目录哦!),然后make &&make install就可以完成安装了!

你还可以使用#yum -y install subversion--》过程中会提示,选择Yes完成安装;

到这里你就可以#svnserve --version--》看到了什么?有版本和模块信息,到这里,安装就告一段落了,oh,yes!

接着,我们就开始配置“大乌龟”,由于大乌龟太大了,需要给T安个家,于是就要给T一所大房子--》我们可以这样:在#输入 mkdir -p /opt/svn/repositories(路径可以自己定义哦,这可是一只大乌龟,要慎重操作哦);好了,大乌龟有了新家了,但是没有吃的,你还得给他粮食:在#执行svnadmin create /opt/svn/repositories(路径可以自己定义哦,这可是一只大乌龟,要慎重操作哦);到这里,粮食有了,房子也有了(屌丝变身高富帅了,可以找乌龟MM了,啊哈哈!);据说乌龟MM住在“瘟都死”城堡,住在“森特OS”的大乌龟要成功牵手还得要付出一番努力啊!就让我们来帮助大乌龟实现愿望吧:我们去看看粮食,关键时刻得检查粮草啊!执行#cd /opt/svn/repositories/conf,然后你能看到有一辆超级跑车,不过是零件,必须组装起来才能用(他们是发动机svnserve.conf、轮子passwd、机身authz);此时大乌龟很是兴奋啊,你懂得!于是先改车身吧:执行# vi  svnserve.conf--》在文件的最后追加以下内容:

[general]
#陌生乌龟访问的权限,可以是read,write,none,默认为read
anon-access=none
#使大乌龟邀请的用户有写权限 
auth-access=write
#密码数据库的路径 
password-db=passwd
#访问控制文件 
authz-db=authz
#大乌龟的房子,subversion(大乌龟)会在认证提示里显示,并且作为凭证缓存的关键字 
realm=/opt/svn/repositories

然后去改轮子passwd,执行# vi passwd,追加如下内容:

[users]
# a = 12345678(前面的#注释掉了,表示未执行)
dawugui=happy(dawugui是用户名,happy是口令)

#设置[/]代表根目录下所有的资源 
[/]                            注释:----也可以增加其他目录哦,在[写你的绝对路径就好]
dawugui=rw

------------------------------亲们,以上修改完毕后要记得保存哦(vi输入完毕后直接按Esc然后:wq!回车就好了------------------------------------------

在#执行svnserve -d -r  /opt/svn/repositories --listen-port 5188    (默认是3690,大乌龟担心不安全,所以用了5188(其实是“我要抱抱”哈哈!))

为了安全,大乌龟关上了所有门,但是还得留下一扇窗,于是:执行vi /etc/sysconfig/iptables--》增加一条放行规则(必须的啊,这可是和“瘟都死”乌龟MM的私有通道啊!) -A INPUT -m state --state NEW -m tcp -p tcp --dport 5188 -j ACCEPT;

到这里,貌似一切都好了,据说“瘟都死”乌龟MM发来的一封信件,大乌龟高兴坏了,于是找啊找,可是大乌龟就是找不到那封信,肿么办?此时,大乌龟发现家里的仓库“膨胀”了一些,于是就有了如下:大乌龟打开仓库大门,发现很多杂乱的东西,完全没法筛选,需要整理:在/opt/svn/repositories中有个hooks的文件夹,打开后#vi post-commit(为了能尽快的找到乌龟MM的来信,大乌龟做了如下操作)--》追加如下内容

#!/bin/sh
export LANG=zh_CN.UTF-8
SVN=/usr/local/svn/bin/svn  (你的svn命令路径)
WEB=/usr/local/xxx.xxx.xxx/  (你的网站根目录)
#默认无需输入账号密码
#USERNAME=dawugui        (你svn用户)
#PASSWORD=happy          (你svn用户密码)
#SVN update $WEB --username $USERNAME --password $PASSWORD --no-auth-cache  (更新并同步到指定路径WEB)

---------------------------------------以上内容编辑完毕后使用Esc:wq!保存--------------------------------------------

chmod a+x post-commit(让马儿能跑)

大乌龟和乌龟MM的通信是需要保密的,所以大乌龟新建了私有仓库:使用#mkdir -p /opt/wuguimm/

然后我们svn checkout svn://xxx.xxx.xxx:5188 /opt/wuguimm

此时此刻,大乌龟终于在/opt/wuguimm中发现了乌龟mm的信件,信中邀请大乌龟去“瘟都死”游玩,于是大乌龟带上墨镜开着超跑一路向北!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值