有哪些选项可以将使用Visual Studio Online(和托管控制器)及其新构建定义每日构建的Web应用程序部署到防火墙后面的本地IIS?
如果打开防火墙,是否可以在Visual Studio Online版本中添加某种WebDeploy-build步骤? Haven现在看不到任何WebDeploy构建步骤......
...或者我们是否可以在IIS服务器上编写每日运行的PowerShell脚本,该脚本从Visual Studio Online获取每日构建的输出?如果可能,那么如何访问这些文件?
...或者像OctopusDeploy这样的东西可以在这里帮忙吗?
希望避免必须设置内部部署构建控制器。
答案 0 :(得分:1)
如果您有可用的服务器,VSO代理是轻量级的,易于设置。 Octopus Deploy很好地集成了大多数内部场景。
也就是说,如果您仍想保留托管版本,八达通仍然有用。
创建VSO构建定义并包含OctoPack。
选择一个托管的Nuget Server,可能是私有的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 Feed和Octopus来自托管的Nuget Feed。
答案 1 :(得分:0)
这些功能即将在VSO上发布,并在Build上宣布。您将能够部署内部部署而无需使用代理打开防火墙端口。
虽然这仍在进行中,但您可以使用Visual Studio 2015的发布管理从VSO中提取位并在本地部署。
答案 2 :(得分:0)
八达通部署可以通过几种方式实现这一目标。
1)在IIS服务器上安装一个触手(轮询或监听将起作用,具体取决于您安装章鱼经理的位置)
或
2)在具有对IIS服务器的WebDeploy访问权限的计算机上安装主章鱼部署,并使用自定义库MS Deploy脚本
将包装到主章鱼部署机器可能有点棘手。最简单的方法是设置一个MyGet服务器并让章鱼服务器定期检查,这样你就不需要向公众开放防火墙了。