SVN代码更新到远程服务器(将SVN代码同步至远程服务器)

将SVN代码同步至远程服务器,SVN代码更新到远程服务器。小编来告诉你更多相关信息。SVN代码更新到远程服务器一篇方法教程,与您分享SVN代码更新到远程服务器方面的知识,下面为详细的介绍。最近做了一个项目,环境有分测试...

将SVN代码同步至远程服务器,SVN代码更新到远程服务器。小编来告诉你更多相关信息。

SVN代码更新到远程服务器

一篇方法教程,与您分享SVN代码更新到远程服务器方面的知识,下面为详细的介绍。

最近做了一个项目,环境有分测试服跟正式服,由于代码比较大,代码管理是用SVN,并且正式服跟测试服是在不同服务器,所以需要做到根据commit更新代码到不同环境。

之前是搞过,怕自己后面忘记了流程,在这里跟大家分享如何进行部署,svn安装以及部署在这里就不重复,大家可以看我过往的教程,下面直接跟大家分享如何操作。

在这里先说明下关系,服务器A是我的svn代码仓库、正式环境,服务器B是我的测试环境。

SVN代码更新到远程服务器(将SVN代码同步至远程服务器)-图1

一、链接svn仓库

我们需要在服务器A、服务器B操作一遍以下命令,先链接svn仓库,命令如下

svn checkout svn://仓库ip/仓库路径/ 网站目录路径 --username svn仓库账户 --password svn仓库密码

上面我们直接替换成我们的信息,比如我们的仓库ip是1.2.3.4,仓库路径是test,网站目录是www/test,svn仓库账户是root,svn仓库密码是test,那么命令就是

svn checkout svn://1.2.3.4/test/ /www/test --username root --password test

服务器A跟B都要提前执行这个命令。

二、设置免密登录

由于我们的测试服是在B,代码仓库是在A,所以A需要远程链接到B,我们用到ssh,我们需要设置免密登录,这样脚本才会自动更新,我们在A服务器操作以下操作生成密钥

ssh-keygen -t rsa

这个命令将生成 SSH 密钥对,默认会在 ~/.ssh/ 目录下生成 id_rsa(私钥)和 id_rsa.pub(公钥)文件。将公钥复制到服务器 B 的授权密钥列表中:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@serverB

替换 user 为服务器 B 上的用户名,serverB 为服务器 B 的 IP 地址或主机名。

如果 ssh-copy-id 命令不可用,你可以手动复制公钥内容并添加到服务器 B 上 ~/.ssh/authorized_keys 文件中验证是否生效,我们执行以下命令,看是不是免密登录B服务器

ssh user@serverB  

三、部署钩子

我们在svn仓库的hooks目录下创建一个文件名为post-commit的文件,记得给777权限,内容如下

#!/bin/shREPOS=\"$1\"REV=\"$2\"export LANG=\"zh_CN.UTF-8\"    #防止乱码 # 获取提交的内容LOGMSG=$(svnlook log -r $REV $REPOS)# 更新正式服务器if [[ $LOGMSG == *\"master\"* ]]; then  svn update /www/wwwroot/maser --username svn仓库账户--password  svn仓库密码fi#更新测试服ssh root@测试服IP \"svn update /www/wwwroot/test --username svn仓库账户--password svn仓库密码\"

我们把正式服路径、测试服路径、测试服IP、svn仓库账户、svn仓库密码改成自己就可以。

只要我们每次提交带有master,就会顺带更新到正式服。

这样就实现根据commit内容实现更新到正式服或测试服。

以上是网关于SVN代码更新到远程服务器的具体介绍,供网友们借鉴参考。

阅读前请先查看【免责声明】本文内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅供展示。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 1217266901@qq.com 举报,一经查实,本站将立刻删除。 转载请注明出处:https://www.jingfakeji.com/tech/57317.html

上一篇 2024年02月05日 15:34
下一篇 2024年02月05日 15:34

相关推荐

  • 简述dubbo的分层设计

    简述dubbo的分层设计。小编来告诉你更多相关信息。简述dubbo的分层设计跟大家说一说简述dubbo的分层设计的相关经验,请看下面详细的介绍。Service,业务层,就是咱们开发的业务...

    2024年02月06日
    6
  • Redis事务实现原理(深入解析Redis事务的实现机制)

    深入解析Redis事务的实现机制,Redis事务实现原理。小编来告诉你更多相关信息。Redis事务实现原理关于这方面的知识你知道吗?Redis事务实现原理方面的内容,下面为您详细介绍事务开始MULTI命令的执行,标识着...

    2024年02月06日
    6
  • Vue.js入门指南从安装到创建第一个应用程序

    Vue.js入门指南从安装到创建第一个应用程序。小编来告诉你更多相关信息。Vue.js入门指南从安装到创建第一个应用程序为网友们详解Vue.js入门指南从安装到创建第一个应用程序方面的内容,一起跟随小编看看吧...

    2024年02月06日
    7
  • dubbo的工作流程

    dubbo的工作流程。小编来告诉你更多相关信息。dubbo的工作流程本文导读:dubbo的工作流程的教程内容,一起跟随小编看看吧!Start:启动Spring容器时,自动启动Dubb...

    2024年02月05日
    8
  • Dubbo支持的注册中心有哪些?

    Dubbo支持的注册中心有哪些?。小编来告诉你更多相关信息。Dubbo支持的注册中心有哪些今日重点为您介绍Dubbo支持的注册中心有哪些方面的知识,下面来一起了解一下吧。Zookeeper(官方...

    2024年02月05日
    7
  • 为什么netflix从大单体演进到联合网关了

    为什么netflix从大单体演进到联合网关了。小编来告诉你更多相关信息。为什么netflix从大单体演进到联合网关了小编为大家解答为什么netflix从大单体演进到联合网关了的电脑方面的小经验,接下来一起来...

    2024年02月05日
    7

联系我们

在线咨询: QQ交谈

邮箱:1217266901@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信