0

我正在与其他一些开发人员一起使用开发、登台、生产服务器环境。

现在我们进行更改,在我们的开发服务器(个人计算机)上测试它们,然后一旦我们对更改感到满意并希望将它们展示给客户端或内部审查,我们将更改提交到存储库并通过 samba 更新登台服务器的工作副本(tortoiseSVN) 或 ssh。

这变得非常乏味和重复。我希望有一个提交后挂钩更新远程登台服务器,但唯一的选择似乎涉及在 SSH 挂钩中硬编码用户凭据或使用用户帐户创建网络挂载。有没有办法将用户身份验证从初始提交传递到登台服务器以进行更新或任何其他建议?

欢迎使用其他设置解决方案。

4

2 回答 2

3

如果您担心将用户 SSH 凭据硬编码到脚本中,您可以创建一个没有密码的 SSH 密钥对。在目标机器上,您需要通过添加限制该密钥对仅运行 Subversion

command="/path/to/svnserve -t"

到 SSH 授权密钥文件的前面,例如:

command="/usr/bin/svnserve -t" ssh-dss <key text>

修改您的钩子脚本以使用此密钥进行登录,与传统的无密码 SSH 密钥相比,您将拥有(稍微)更高的安全性。

于 2009-04-03T23:41:29.583 回答
1

您是否考虑在您的登台服务器上使用像 CruiseControl ( http://cruisecontrol.sourceforge.net/ ) 这样的自动化系统?

CruiseControl 可以配置为检查是否有新的签入,然后开始构建(通常在第一步进行签出)。

您甚至可以监控不同的分支,并根据签入更改的分支进行自动集成和发布构建。

我们在这里非常成功地使用该习惯用法进行自动化构建。

于 2009-04-03T22:54:11.163 回答