【发布时间】: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