【问题标题】:Team Services deploy to on-premise Service Fabric without exposed endpointTeam Services 部署到本地 Service Fabric,没有暴露的端点
【发布时间】:2018-04-11 13:30:39
【问题描述】:

我们有一个内部部署的 Service Fabric 群集,并希望从 Visual Studio Team Services 向其部署代码。我们使用这个集群进行测试,它没有暴露给外界的端点。它只能从我们的网络内部访问。

从 Team Services 内部部署 Service Fabric 应用程序的常规方法是使用“Service Fabric 应用程序部署”任务。此任务需要“群集连接”参数,或链接到 Team Services 可以访问的 Service Fabric 服务终结点。在这个集群上,我无法向外界提供端点,所以这个方法不起作用。

有没有一种很好的、​​公认的方法来实现这一点?我正在考虑在其中一个 Service Fabric 节点上安装一个代理,该代理可以在构建过程中运行 PowerShell 脚本。作为构建过程的一部分,我可以在节点上启动 PowerShell 脚本。如果我可以使用此脚本从 Team Services 检索工件,我相信发布的其余部分会相对简单。

这是一个好的思路,还是有更直接的方法可以从 Team Services 部署到 Service Fabric 而不会暴露端点?

【问题讨论】:

  • 在网络中运行代理意味着您应该能够以常规方式访问端点,对吧?
  • 我的理解是代理从团队服务中提取“部署请求”和工件。 Team Services 无法查看网络内部,但目标计算机轮询 Team Services 以查看是否有新的部署要进行。
  • 安装在本地机器上的代理应该可以访问端点。您是否建议“Service Fabric 应用程序部署”任务可能能够看到构建代理公开的端点?
  • 代理连接到 vsts,但可以在本地执行任务。
  • 是的,这是我的理解。如果我可以将工件发送给代理,那么运行 PowerShell 任务来安装版本应该很简单。我不确定如何在构建后从 Team Services 中获取构建工件。经过审查,看起来这是一条不错的道路。

标签: powershell azure-devops azure-service-fabric azure-pipelines-release-pipeline


【解决方案1】:

我们有相同的设置和使用 VSTS。我们设置了一个 On-Prem 代理池,其中代理位于我们的网络中。该代理与 VSTS 挂钩,因此可以从 VSTS 触发构建和发布。代理可以访问 VSTS 上的工件并可以下载它进行部署。不同之处可能是我们设置了一个服务结构端点而不是使用 powershell。

这是一个非常简单的设置,很适合我们。祝你好运

【讨论】:

  • 我们能够完成这项工作。对于从 Team Services 运行的“代理阶段”和使用在目标/本地计算机上运行的代理的“部署组阶段”之间的区别的发布定义任务,我有点困惑。感谢大家的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-06
  • 2020-02-15
  • 1970-01-01
  • 1970-01-01
  • 2012-04-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多