一、简介

1、版本控制:

经常敲代码的朋友应该知道,版本控制可以理解为将你的代码存储在云端,并且可以进行多人协作,完成较为大型的项目所使用的一种方法,那么对于硬件工程师来说当有一个大型项目摆在眼前时,我们不能通过一己之力完成时,我们应该怎么办?

(2)第一种方法

我想大家的通常做法就是打开一个 聊天软件或局域网内网的文件传输服务 对每个人的任务进行分工,最后将制作好的原理图各个部分原理图组装在一起完成一项工程,当然也是一个不错的方式,但是这样需要我们在文件管理服务器与AD(Altium Designer 为方便叙述下文均采用缩写代替)界面之间不断的切换,较为麻烦,不便于审核。

(1)第二种方法

在我们的内网服务器搭建一个SVN服务器,从而使用 AD中自带的版本管理服务 进行版本管理,以及像代码一样的多人协作和项目存储。

2、搭建前准备

(1)服务端

centos服务器或aliyun Linux服务器
在某局域网内部也可以通过用VMware上使用 Centos虚拟机 完成

(2)客户端(Windows本机)

Altium Designer官方点击进入:此文采用Altium Designer18.0为例
Tortoise客户端点击进入官网:此文采用TortoiseSVN1.13.1-64为例

二、服务端SVN搭建

通过SSH软件远程连接到你的服务器

1.检测当前系统是否安装过

服务端命令行 中输入下面命令

rpm -qa subversion

如果原来有安装过会显示
在这里插入图片描述

2.删除老版本

yum -y remove subversion

删除完成
在这里插入图片描述

3.安装subversion

1.安装命令
	yum -y install subversion
2.svn安装位置查看
	rpm -ql subversion

4.创建SVN工程相关目录

我的创建位置为 /root 目录下面,你可以自定义你的创建位置

1.创建SVN总目录
	mkdir my_SVN
2.创建单个工程版本目录
	cd my_SVN
	mkdir PCB_share

目录的层级关系大概是如下这样
在这里插入图片描述
创建完成的目录
在这里插入图片描述

5.创建SVN版本库

svnadmin create /root/my_SVN/PCB_share

创建完成之后会在你刚刚创建的那个目录下我这里是( /root/my_SVN/PCB_share
生成如下的目录与文件:
在这里插入图片描述
各文件目录意义:
conf:配置文件目录(本仓库的访问权限,访问账户相关设定)
format:本地文件夹,存储当前文件库配置版本号
hooks:钩子文件,放置hook脚步文件
locks:放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端

6、配置conf目录

1.进入conf文件目录
	cd /root/my_SVN/PCB_share/conf

在这里插入图片描述

目录中各文件作用:
authz:账号权限的管理,控制账号对仓库管理权限
passwd:账号和密码的用户名或用户组管理
svnserve.conf:svn服务器配置文件

(1)配置SVN服务器配置svnserve.conf

1.修改svnserve.conf文件,根据下面图片进行修改
	vi svnserve.conf
2.修改完成进行保存
	在vim下点击i进行修改,点击Esc输入:wq进行保存并退出

修改下面这几处,千万别修改错
在这里插入图片描述
上面修改几个参数的含义

anon-access = none                #控制非鉴权用户访问版本库的权限
auth-access = write                 #控制鉴权用户访问版本库的权限
password-db = passwd           #指定用户名口令文件名,即访问时要输用户名和密码
realm = test                    #指定版本库的认证域,即在登录时提示的认证域名称,改成自己的版本库

(2)配置SVN服务器配置authz

1.修改authz文件,根据下面图片进行修改
	vi authz
2.修改完成进行保存
	在vim下点击i进行修改,点击Esc输入:wq进行保存并退出

修改讲解:
在这里插入图片描述

(3)配置SVN服务器配置passwd

1.修改passwd文件,根据下面图片进行修改
	vi passwd
2.修改完成进行保存
	在vim下点击i进行修改,点击Esc输入:wq进行保存并退出

在这里插入图片描述
到这里SVN服务器基本配置完成了,如果你使用的 阿里云或其他云端服务器在安全组中开启3690端口
如果是 本地服务器并且防火墙开启状态 需要进行 如下配置

(4)配置本地服务器的防火墙

1.查看防火墙状态
	systemctl status firewalld
2.开启防火墙
	systemctl start firewalld
3.关闭防火墙
	systemctl stop firewalld

关闭状态
在这里插入图片描述
打开状态
在这里插入图片描述
3690端口配置

1.配置telnet 
	sudo firewall-cmd --permanent --add-service=telnet
2.配置3690端口协议
	sudo firewall-cmd --permanent --add-port=3690/tcp
3.重载防火墙 
	sudo firewall-cmd --reload

(5)启动SVN服务

1.启动SVN
	# -d : 守护进程  -r : svn数据根目录
	svnserve -d -r /root/my_SVN/PCB_share
		
2.检测是否启动成功
	ps aux|grep svnserve               #默认端口为:3690
	
以下为可选设置项:
3.开机自动启动(防止服务器重启后仍然需要手动启动SVN)
	systemctl start svnserve.service 
4.关闭开机自动启动
	systemctl stop svnserve.service 

启动成功如下图:
在这里插入图片描述

三、客户端SVN配置(Windows)

1.Tortoise SVN安装

点击进入TortoiseSVN官网
下载方式可以参考此动图:
在这里插入图片描述
双击打开这个安装包直接选择Next默认安装即可
在这里插入图片描述
此时你右键你的鼠标你会发现弹出的菜单栏中多了一些选项

2.进行Windows本地配置

在你的本地创建一个文件夹并记住此文件夹的路径
在这个文件夹下右键选择SVN Checkout…
在这里插入图片描述
完成配置点击ok会发现如下情况证明配置成功:
1.你的Windows目录下会有一个隐藏的.svn文件夹
2.会有如下弹窗展示出来

在这里插入图片描述
此时打开你的Altium Designer
并随便 创建/打开 一个工程
将你的输入法设置为英文:
按下键盘上:
T+P
会弹出
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来点击test测试连接性出现下图则证明连接成功:
在这里插入图片描述
此时可以点击OK
在这里插入图片描述
此时右键工程:
在这里插入图片描述
点击版本控制就会发现有如下选项
在这里插入图片描述
此时就可以将PCB工程像大型代码一样进行多人协作,以及版本控制

总结(所有命令及步骤若想忽略原理可以直接看这里)

服务端

1.删除旧版本
	yum -y remove subversion
2.安装
	yum -y install subversion
3.查看svn安装位置
	rpm -ql subversion
4.创建SVN总目录
	mkdir my_SVN
5.创建单个工程版本目录
	cd my_SVN
	mkdir PCB_share
6.创建SVN版本库
	svnadmin create /root/my_SVN/PCB_share
7.进入conf文件目录
	cd /root/my_SVN/PCB_share/conf
8.修改svnserve.conf文件,根据下面图片进行修改
	vi svnserve.conf
9.修改authz文件,根据下面图片进行修改
	vi authz
10.修改passwd文件,根据下面图片进行修改
	vi passwd
11.查看防火墙配置:
	1.查看防火墙状态
		systemctl status firewalld
	2.开启防火墙
		systemctl start firewalld
	3.关闭防火墙
		systemctl stop firewalld
12.启动SVN
	# -d : 守护进程  -r : svn数据根目录
	svnserve -d -r /root/my_SVN/PCB_share		
13.检测是否启动成功
	ps aux|grep svnserve               #默认端口为:3690

svnserve.conf文件修改

在这里插入图片描述

authz文件修改

在这里插入图片描述

passwd文件修改

在这里插入图片描述

Windows客户端配置及AD配置参考客户端配置SVN即可内容不多

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐