0
点赞
收藏
分享

微信扫一扫

SIM800C-AT指令测试(二) SMS短消息

和谐幸福的人生 2023-05-10 阅读 51

subversion

SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

TortoiseSVN 

TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。

Subversion目录说明 

  • /var/svn/project/
目录说明
db存放所有的版本控制数据文件。
hooks放置hook脚本文件。
locks用来追踪存取文件库的客户端。
format一个文本文件,文件中只包含一个整数,表示当前文件库配置的版本号。
confSVN版本库的配置文件(版本库的访问账号、权限等)。
/etc/sysconfig/svnserve

OPTIONS="-r /Data/Svn"   指定svn根目录,如果不是此命令更改,是默认不需要更改

创建一键自动化部署subversion

  • /var/svn #存储库根目录
  • /var/svn/project #创建版本库
  • /var/svn/project/trunk #创建和使用一个仓库,最终的软件上传的目录
  • /var/svn/project/conf/svnserve.conf #SVN业务配置
  • /var/svn/project/conf/passwd #设置存储库的用户名和密码
  • 用户名密码,只允许test01,test02用户访问project全局目录下所有文件的增删改查权限,登录,test03只读project下的trunk目录文件,不允许创建删除操作
test01/test@123
test02/test@123
test03/test@123
  •  /var/svn/project/conf/authz   #设置组和用户,允许开发者组在SVN文档-root上读写,允许读取fedora用户的[trunk]文件夹
  • /etc/httpd/conf.d/subversion.conf # 设置访问权限
  • /var/svn/.svnpasswd  #配置HTTP登录用户
vim /Install_svn.sh
#!/bin/bash
# -*- coding: utf-8 -*-
# Author: CIASM
# update 2023/05/09

svn_check=/usr/share/doc/subversion

install_svn (){
if [ ! -d ${svn_check} ];then
echo "install svn"
if [ $? -eq 0 ];then 
  yum install -y httpd mod_dav_svn subversion
  config_svn
   echo -e "\033[32mThe svn Install Sussess...\033[0m" 
  else
   echo -e "\033[33mThe svn Install Failed...\033[0m" 
    exit 1
   fi
  else
   echo -e "\033[31mThe svn Install already...\033[0m"
fi
}

config_svn (){

#Create the repository root
mkdir -p /var/svn

#Starting the svn
systemctl enable --now svnserve

#Command to create a version library
mkdir -p /var/svn/project
svnadmin create /var/svn/project

#Create a repository
svn mkdir file:///var/svn/project/trunk -m "create"

#Delete the default configurations of the svn
rm -rf /var/svn/project/conf/svnserve.conf
rm -rf /var/svn/project/conf/passwd
rm -rf /var/svn/project/conf/authz

#Modify the SVN service configuration
cat >>/var/svn/project/conf/svnserve.conf<<EOF
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
EOF

#Set the username and password for the repository
cat >>/var/svn/project/conf/passwd<<EOF
[users]
test01 = test@123
test02 = test@123
test03 = test@123
EOF

#Set groups and users,
#allow read/write on SVN document-root for developer group,
#allow read on [trunk] folder for fedora user
cat >>/var/svn/project/conf/authz<<EOF
[groups]
developer = test01,test02

[/]
@developer = rw

[/trunk]
test03 = r
EOF

#set access permission
cat >>/etc/httpd/conf.d/subversion.conf<<EOF
# create new
<Location /project>
    DAV svn
    AuthType Basic
    AuthName "DAV SVN"
    AuthUserFile /var/svn/.svnpasswd
    Require valid-user
    SVNPath /var/svn/project
</Location> 
EOF

#config http login user
htpasswd -cb /var/svn/.svnpasswd test01 test@123
chown -R apache. /var/svn/project
systemctl restart httpd
systemctl enable --now httpd

#Firewall port configuration
firewall-cmd --add-service=svn --permanent && firewall-cmd --reload
firewall-cmd --zone=public --add-port=80/tcp --permanent && firewall-cmd --reload
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

echo "svn version check"
svnserve --version | grep ", version" | awk '{print $3}'
}

main (){
install_svn
}

main

执行一键安装

sh /Install_svn.sh

Windows 客户连接svn

  • TortoiseSVN download
  • TortoiseSVN zh-cn语言包
  • svn://192.168.12.241/project
  • 用户名密码,只允许test01,test02用户访问project全局目录下所有文件的增删改查权限,登录,test03只读project下的trunk目录文件,不允许创建删除操作

 连接到库

上传容易文件到trunk 目录 

提交上传文件到svn 服务器

选择需要上传到svn服务器的文件

文件上传完成

http访问svn

  • 192.168.12.241/project/
  • test01/test@123

举报

相关推荐

0 条评论