2

我刚刚开始考虑使用 Jenkins 进行持续部署,但我遇到了一些障碍,而且我还没有真正找到很多关于 ASP.NET 应用程序的好的、明确的资源。

我已经设置了一个本地构建服务器,而不是成功地从 SVN 存储库中提取代码,并使用 MSBuild 构建它。到目前为止效果很好,但现在我想自动将此编译后的代码推送到开发服务器。

我的问题是——根据我所读到的内容(这可能是一个错误的假设......),登台服务器通常与构建服务器位于同一网络内,这意味着您可以共享网络资源、服务器、等等

就我而言,我想在远程 VPS 上运行 Jenkins 服务器,然后部署到其他远程 VPS(因此,基本上是各个独立的机器相互通信)。

我见过很多术语,但我对系统管理员/DevOps 类型的技能非常陌生。

所以,我的问题是:

  1. 是否有可能在 VPS 上使用 Jenkins,然后部署到我选择的任何特定服务器?(我对所有这些都具有完全访问权限,所以如果它是一个安全问题,我可以修复它......但它们不在同一个网络/域中)

  2. 实现这一目标的方法是什么?我见过提到的 xcopy、Web 部署包 (msdeploy)、批处理脚本等,但并没有真正指导在什么情况下使用什么。这些方法中的任何一种对实现我的目标有用吗?

感谢您的任何帮助或指导!

4

2 回答 2

1

你的 Powershell 怎么样?;) 你应该看看psake

psake 是用 PowerShell 编写的构建自动化工具。通过在构建脚本中利用 PowerShell 语法,它避免了与可执行 XML 相关的尖括号税。psake 的语法灵感来自 rake(在 Ruby 中又称为 make)和 bake(在 Boo 中又称为 make),但更容易编写脚本,因为它利用了您现有的命令行知识。

psake 发音为清酒——就像在日本米酒中一样。它不与 make、bake 或 rake 押韵。

于 2012-04-19T00:08:50.513 回答
0

您可以通过 SSH 将文件部署到目标服务器。Jenkins 确实支持通过 SSH 传输。您需要做的就是设置一个 SSH 服务器,例如:CopSSH和一个具有管理员权限的用户帐户。并将 Jenkins 配置为通过 SSH 传输。

  • 在主 Jenkins 配置中创建主机配置
  • 添加 SSH 服务器
  • 将公钥添加到远程服务器(构建服务器)
  • 点击“测试配置”
  • 节省
  • 将作业配置为通过 SSH 发布(构建后操作)
  • 添加传输集。

有关更多详细信息,请参阅通过 SSH 发布

于 2016-05-17T10:54:01.813 回答