1、【常规】SVN 服务搭建
1.1、安装 Subversion
bash
sudo yum install y subversion
![](https://i-blog.csdnimg.cn/direct/7da14a9db2624a5abdacb4b6466c10fe.png)
安装完成后,可以通过以下命令验证安装是否成功:
bash
svnserve --version
![](https://i-blog.csdnimg.cn/direct/f8af1dc8d8134748ae1936042a48f820.png)
1.2、创建SVN仓库
安装完成 SVN 服务后,默认是没有任何仓库内容的。需要先手动创建一个存储仓库,如下所述:
指定位置用于存放所有的SVN仓库:
bash
#这里指定 var 路径下,实际使用可以放到盘开机富余的目录下
sudo mkdir /var/svn
![](https://i-blog.csdnimg.cn/direct/83704af630154697805f9c3adcc13f25.png)
创建示例存储库:
bash
[root@blnp ~]# svnadmin create /var/svn/testRepo
[root@blnp ~]#
![](https://i-blog.csdnimg.cn/direct/c49998c3fe3c44c4969d3483446ba556.png)
1.3、配置 SVN 仓库权限
默认情况下,SVN仓库没有任何权限设置,你需要手动配置权限,每个仓库都有一个conf目录,其中包含三个重要的配置文件:authz、passwd和svnserve.conf。
1.3.1、配置用户密码
编辑passwd文件来设置SVN的用户名和密码:
bash
sudo vi /var/svn/your_repository_name/conf/passwd
通过添加以下内容的方式来新增管理用户信息。
![](https://i-blog.csdnimg.cn/direct/169a06443b37415f8f7fee9838e6127e.png)
1.3.2、配置用户权限
编辑authz文件来设置用户的访问权限:
bash
sudo vi /var/svn/your_repository_name/conf/authz
添加如下行来设置用户权限:
![](https://i-blog.csdnimg.cn/direct/5f057c4edc8b4627aabeb5110d3ba214.png)
在这个例子中,developers组有读写权限,readers组只有读权限。
1.3.3、配置 SVN 服务
编辑svnserve.conf文件来启用前面配置的用户和权限设置:
bash
sudo vi /var/svn/your_repository_name/conf/svnserve.conf
找到并取消注释以下行:
bash
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository
![](https://i-blog.csdnimg.cn/direct/2dd0765d055744068e3306d1198b5329.png)
1.4、启动 SVN 服务
使用svnserve来启动SVN服务:
bash
sudo svnserve -d -r /var/svn/
d选项表示在后台运行,r选项指定SVN仓库的根目录。
![](https://i-blog.csdnimg.cn/direct/0078ddb3cd8a4dd4a20d015632379322.png)
1.5、配置防火墙
如果你的服务器启用了防火墙,你需要确保SVN服务的端口(默认为3690)是开放的,你可以使用firewallcmd来开放端口:
bash
sudo firewall-cmd --zone=public --permanent --add-port=3690/tcp
sudo firewall-cmd --reload
1.6、访问 SVN 仓库
使用 SVN 客户端访问SVN仓库:
![](https://i-blog.csdnimg.cn/direct/c1099c01872440059df013ccf5aef209.png)
若是访问时,提示以下信息。可以参看该文章进行排查:SVN配置错误:认证无效解决方案-CSDN博客
![](https://i-blog.csdnimg.cn/direct/cffe14166886417ab816a38d6f19eacc.png)
![](https://i-blog.csdnimg.cn/direct/bb26614a18d34ceb9cab388f6a00c7fe.png)
授权验证通过后,即可查看到svn仓库的内容信息。
![](https://i-blog.csdnimg.cn/direct/bf85cff98d384058b1b93bdf9e550a59.png)
1.7、仓库检出&提交
在本地检出仓库后,若新建仓库未新建内容则默认是个空目录只有 .svn 目录的配置信息。
![](https://i-blog.csdnimg.cn/direct/2aede561be614b0687a47eb84f044361.png)
2、【快速】SVN 服务搭建
通过搭建开源的 SVN WebUi 服务即可在服务器上快速搭建一个SVN服务端,并且配备相应的管理后台,可大大简化日常的常规操作。
2.1、docker 方式搭建
这里为了方便是直接使用docker 的方式来快速搭建使用的,前提是服务器上需提前安装好docker 环境。
安装docker:
拉取镜像:
bash
docker pull registry.cn-hangzhou.aliyuncs.com/cym19871102/svnwebui:latest
启动镜像服务:
bash
docker run -itd -v /home/svnWebUI:/home/svnWebUI -e BOOT_OPTIONS="--server.port=6060" --privileged=true -p 6060:6060 -p 3690:3690 registry.cn-hangzhou.aliyuncs.com/cym19871102/svnwebui:latest
2.2、访问管理后台
访问地址:http:[服务器IP]:6060 后创建用户并登录后,即可显示如下内容:
![](https://i-blog.csdnimg.cn/direct/336480ccd31342d383c55559c5160370.png)
如需要创建仓库、用户或者授权可以直接在当前管理后台上操作,可以大大提升效率。
3、Jenkins 服务搭建
3.1、前置准备
3.1.1、安装JDK
bash
#下载rpm镜像
wget https://download.oracle.com/java/17/archive/jdk-17.0.6_linux-x64_bin.rpm
#安装镜像
yum install -y jdk-17.0.6_linux-x64_bin.rpm
#验证结果
java -version
![](https://i-blog.csdnimg.cn/direct/06a789b8b05448c591e9ec0ade159d1c.png)
3.2、安装 Jenkins
根据需要选择具体的版本进行安装:Index of /jenkins/redhat-stable/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
![](https://i-blog.csdnimg.cn/direct/ebd7e6b8425b46f883edea01f782f5e0.png)
bash
#先下载ca-certificates,防止报证书过期问题,再下载包
yum install -y ca-certificates
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.375.4-1.1.noarch.rpm
直接安装 rpm 包:
bash
[root@blnp ~]# ls
anaconda-ks.cfg jenkins-2.440.1-1.1.noarch.rpm
[root@blnp ~]# rpm -ivh jenkins-2.440.1-1.1.noarch.rpm
准备中... ################################# [100%]
正在升级/安装...
1:jenkins-2.440.1-1.1 ################################# [100%]
[root@blnp ~]#
![](https://i-blog.csdnimg.cn/direct/653fb57fea38453c917178e7336964ee.png)
3.3、启动 Jenkins
bash
systemctl start jenkins && systemctl status jenkins
![](https://i-blog.csdnimg.cn/direct/1e218cd3b58d4d8293b1f18e49fbe90e.png)
3.4、访问 Jenkins
防火墙:
bash
#1. 关闭防火墙
systemctl stop firewalld
#2. 防火墙开放8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
systemctl restart firewalld #重启
查看登录密码:
bash
#查看默认登录密码
cat /var/lib/jenkins/secrets/initialAdminPassword
![](https://i-blog.csdnimg.cn/direct/b593f598935c4d70b3b4e1360e6a2502.png)
打开浏览器访问:http://192.168.56.100:8080/ 记得换成自己的IP地址,如下图所示:
![](https://i-blog.csdnimg.cn/direct/05617b76b08c467b905b748964338129.png)
填入上文查询取得的密码进行后台登入。
![](https://i-blog.csdnimg.cn/direct/675918de5f5f431aba9d596ebc0e82f7.png)
![](https://i-blog.csdnimg.cn/direct/aa2acec242714046b78a82ff96d55115.png)
![](https://i-blog.csdnimg.cn/direct/a9eb391a1d864e81ae61e3db5efc0673.png)
![](https://i-blog.csdnimg.cn/direct/4b66b097f2464f258249899e981167d8.png)
3.5、端口、权限修改
bash
#修改端口,用户权限,
vim /usr/lib/systemd/system/jenkins.service
![](https://i-blog.csdnimg.cn/direct/0b91dd39876940eaa64250af2e9c1df1.png)
3.6、插件下载安装
Deploy to container
(支持自动化将代码部署到tomcat容器)Maven Integration
(jenkins 利用maven编译,打包,所需插件)Node.js
(打包前端vue
项目所需插件)Git
(git插件,从托管平台拉取代码)Gitee
orGithub
orGitlab
(托管平台插件)Publish Over SSH
(ssh传输到另一台服务器)
![](https://i-blog.csdnimg.cn/direct/76820bb506f0468ea2a38176d7f9eb48.png)
3.7、中文设置
![](https://i-blog.csdnimg.cn/direct/7d00c6c88d954008a8663dcd1db9613c.png)
需反复重启几次才能完全汉化完整!!