如何首次将SVN存储库签出到活动站点?

如何首次将SVN存储库签出到活动站点?,svn,svn-checkout,Svn,Svn Checkout,我的项目有一个subversion存储库。现在我需要让我的项目活起来。我有我的实时服务器的FTP详细信息。所以我的问题是:如何第一次签出我的项目? 在live server上使用svn co repo_url命令之前,我需要安装任何东西吗?两件事,这是我们遵循的策略。所以我只是建议一下 不要在服务器上安装SVN。而是在构建服务器/机器上签出。使用所有生产参数构建或打包要转到live server的任何内容。然后复制scp,将生成的包上载到服务器部署目录下的live server 由于您将要部署此

我的项目有一个subversion存储库。现在我需要让我的项目活起来。我有我的实时服务器的FTP详细信息。所以我的问题是:如何第一次签出我的项目?
在live server上使用svn co repo_url命令之前,我需要安装任何东西吗?

两件事,这是我们遵循的策略。所以我只是建议一下

不要在服务器上安装SVN。而是在构建服务器/机器上签出。使用所有生产参数构建或打包要转到live server的任何内容。然后复制scp,将生成的包上载到服务器部署目录下的live server

由于您将要部署此代码,因此签出的内容中不会有进一步的开发。所以,导出而不是签出。svn导出repo_url-这将进行干净的签出

是的,您需要Subversion命令行客户端或任何其他SVN客户端,如Tortoise SVN

看这里

希望这有帮助

在对SVN作为发布工具进行了大量讨论之后:是还是不是?对于@Nathan Kidd,我仍然不同意SVN是正确的工具。它是一个版本控制工具,而不是部署/上载工具。内森确实有很多优点,但我更喜欢传统而不是配置

然而,对部署/发布周期感兴趣的人会发现此幻灯片非常有用。本演示采用逐步构建代码、发布包和部署的过程。介绍了适当的工具,其中许多工具是特定于Java的,但即使您正在为任何给定任务执行非Java任务,也值得一看。我希望这会有帮助


如果有理由,您可以随时开发自己的自定义发布流程。

两件事,这是我们遵循的政策。所以我只是建议一下

不要在服务器上安装SVN。而是在构建服务器/机器上签出。使用所有生产参数构建或打包要转到live server的任何内容。然后复制scp,将生成的包上载到服务器部署目录下的live server

由于您将要部署此代码,因此签出的内容中不会有进一步的开发。所以,导出而不是签出。svn导出repo_url-这将进行干净的签出

是的,您需要Subversion命令行客户端或任何其他SVN客户端,如Tortoise SVN

看这里

希望这有帮助

在对SVN作为发布工具进行了大量讨论之后:是还是不是?对于@Nathan Kidd,我仍然不同意SVN是正确的工具。它是一个版本控制工具,而不是部署/上载工具。内森确实有很多优点,但我更喜欢传统而不是配置

然而,对部署/发布周期感兴趣的人会发现此幻灯片非常有用。本演示采用逐步构建代码、发布包和部署的过程。介绍了适当的工具,其中许多工具是特定于Java的,但即使您正在为任何给定任务执行非Java任务,也值得一看。我希望这会有帮助


如果有理由,您可以随时开发自己的定制发布流程。

这能实现什么?这意味着您失去了高效的更新,并且能够轻松查看是否有人更改了生产机器svn状态中的某些内容。我认为明智的做法是为生产制作标签/分支,并检查它们。@Nathan Kidd prod的发布是一个关键事件。你不是每天都这样做。这个想法是尽量减少松散的字符串。所以,当您发布时,您确切地知道代码将要到哪里,并且没有意外的更新。另外,在大多数情况下,产品设置与本地/测试构建不同。您的参数(如DB连接)是不同的。所以,你不希望人们在那里做出改变。为此,有一个即时发布的概念。而且,当你说,为发布创建标签时,你是对的。您必须创建一个发布标记。标签就像一个里程碑。您不会通过SSHing contd…contd…篡改服务器代码。。。你们查看标签,看看prod有什么问题,在哪里。然后你从标签上创建一个分支,并通过发布一个spot来解决这个问题。和你之前做的一样。这个过程看起来确实很繁琐和过时,相信我,它在发布过程中给了我们很大的信心,而且你在发布出错后会如何等问题上给出了可靠的回答。整个想法是排他性的。组织越大,你就会发现更多的不确定因素。在这种情况下,多个应用程序和服务相互依赖,这绝对是有道理的。@Nishant,我还没有被卖掉我们谈论的是一种推动生产变革的技术方法。意外更新、产品设置不同、信心仅仅是应用于流程的语义。当然,你感觉很舒服,但我认为没有技术上的原因。您可以锁定您的流程和标记/分支权限,以获得相同的舒适度,并获得我最初提到的好处
ct,做svn更新你会感觉更舒服。您对生产的响应是首先,svn状态,确定,确认生产文件与我们的标签完全匹配,现在检查代码。与其让我用源tarball区分生产树,好吧,匹配,现在让我用源tarball区分svn标记,好吧,匹配,现在检查代码。这实现了什么?这意味着您失去了高效的更新,并且能够轻松查看是否有人更改了生产机器svn状态中的某些内容。我认为明智的做法是为生产制作标签/分支,并检查它们。@Nathan Kidd prod的发布是一个关键事件。你不是每天都这样做。这个想法是尽量减少松散的字符串。所以,当您发布时,您确切地知道代码将要到哪里,并且没有意外的更新。另外,在大多数情况下,产品设置与本地/测试构建不同。您的参数(如DB连接)是不同的。所以,你不希望人们在那里做出改变。为此,有一个即时发布的概念。而且,当你说,为发布创建标签时,你是对的。您必须创建一个发布标记。标签就像一个里程碑。您不会通过SSHing contd…contd…篡改服务器代码。。。你们查看标签,看看prod有什么问题,在哪里。然后你从标签上创建一个分支,并通过发布一个spot来解决这个问题。和你之前做的一样。这个过程看起来确实很繁琐和过时,相信我,它在发布过程中给了我们很大的信心,而且你在发布出错后会如何等问题上给出了可靠的回答。整个想法是排他性的。组织越大,你就会发现更多的不确定因素。在这种情况下,多个应用程序和服务相互依赖,这绝对是有道理的。@Nishant,我还没有被卖掉我们谈论的是一种推动生产变革的技术方法。意外更新、产品设置不同、信心仅仅是应用于流程的语义。当然,你感觉很舒服,但我认为没有技术上的原因。您可以锁定您的流程和标记/分支权限,以获得相同的舒适度,并获得我最初提到的好处。事实上,您应该会对svn更新感到更舒适。您对生产的响应是首先,svn状态,确定,确认生产文件与我们的标签完全匹配,现在检查代码。与其让我用源tarball区分生产树,好的,匹配,现在让我用源tarball区分svn标记,好的,匹配,现在检查代码。