【问题标题】:Deploy Visual Studio Team Services (aka VS Online) build to an on-premises IIS?将 Visual Studio Team Services(又名 VS Online)构建部署到本地 IIS?
【发布时间】:2016-03-29 02:44:48
【问题描述】:

将使用 Visual Studio Online(和托管控制器)及其新构建定义每天构建的 Web 应用程序部署到防火墙后的本地 IIS 有哪些选项?

如果打开防火墙,是否可以在 Visual Studio Online 构建中添加某种 WebDeploy-build 步骤?不过目前还没有看到任何 WebDeploy 构建步骤...

...或者我们是否可以编写一个每天在 IIS 服务器上运行的 PowerShell 脚本,从 Visual Studio Online 获取每日构建的输出?如果可以,如何访问这些文件?

...或者像 OctopusDeploy 这样的东西可以在这里提供帮助吗?

希望避免设置本地构建控制器。

【问题讨论】:

    标签: asp.net iis azure-devops


    【解决方案1】:

    如果您有可用的服务器,VSO 代理是轻量级且易于设置的。 Octopus Deploy 可以很好地集成大多数本地场景。

    也就是说,如果您仍想保留托管版本,Octopus 仍然可以使用。

    创建一个 VSO 构建定义并包含 OctoPack

    选择一个托管的 Nuget 服务器,可能带有私人 repo 订阅。几个选项是 MyGet 和 Artifactory。

    在“MSBuild Arguements”中包含参数。

    /p:RunOctoPack=true
    /p:OctoPackPublishPackageToHttp=http://nugetrepoofyourchoice.com/nuget/packages
    /p:OctoPackPublishApiKey=$(NugetAPI)
    /p:OctoPackPackageVersion=$(Build.BuildNumber)
    

    “NugetAPI”实际上是一个用户定义的变量(您选择的名称),它引用了一个 Secret 构建变量。您将从 Nuget Repo 供应商处获得此 API 密钥。

    前提是,在您的 Octopus 安装中,您可以将托管的 Nuget 提要定义为外部提要。

    在您的部署项目中,它会从您托管的存储库中提取 Nuget 包。

    VSO 推送到托管的 Nuget 提要,Octopus 从托管的 Nuget 提要中拉取。

    【讨论】:

      【解决方案2】:

      Octopus deploy 可以通过多种方式解决这个问题。

      1) 在 IIS 服务器上安装一个 tentacle(轮询或侦听都将起作用,具体取决于您安装章鱼管理器的位置)

      2) 在对 IIS 服务器具有 WebDeploy 访问权限的机器上安装主 octopus deploy,并使用自定义库 MS Deploy 脚本

      将包传送到主要的章鱼部署机器可能有点棘手。最简单的方法是设置 MyGet 服务器并让 octopus 服务器定期检查它,这样您就不需要向公众开放防火墙。

      【讨论】:

        【解决方案3】:

        这些功能即将用于 VSO,并在 Build 上宣布。您将能够在本地部署,而无需使用代理打开防火墙端口。

        虽然这仍在进行中,但您可以使用 Visual Studio 2015 的发布管理从 VSO 中提取位并在本地部署。

        【讨论】:

        • 虽然许可可能会发生变化,但 RM 目前需要测试专家或企业。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-14
        • 1970-01-01
        • 2016-07-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多