我现在有一个带有EF的ASP.NET核心Web应用程序,我正在使用Visual Studio直接从Web部署发布配置文件部署到GearHost(用户推荐的非Azure Cloud 平台) . 我希望通过VSTS设置CI / CD,以便发布功能不限于一台机器 .
到目前为止,我已经 Build 了构建阶段,因为.NET Core模板是真正需要的 . 这是让我陷入困境的部署部分 - 我能找到的与.NET Core相关的所有模板(实际上是文章)都集中在Azure或IIS部署上,这两者都不适用于此,Azure确实使用了部署专门为它创建的任务 .
如果相关,GearHost提供可能用于手动复制的FTP凭证 . 或者,有什么方法可以使用VS2017发布配置文件来创建包含appsettings.json转换和EF迁移的发布定义?
1 回答
有许多方法可以将应用程序部署到GearHost服务器,例如FTP,发布配置文件 .
因此,您可以使用FTP Upload task将已发布的文件(例如,使用文件系统发布方法创建发布配置文件)上载到GearHost服务器 .
您也可以download the publish profile with Web Deploy method and import to VS,然后使用此发布配置文件部署应用程序 . (MSBuild参数:
/p:DeployOnBuild=true /p:PublishProfile=[publish profile file name]
)关于appsettings.json转换,您不需要转换appsettings.json文件,.net核心项目可以从
appsettings.[environment].json
文件中检索每个值为 ASPNETCORE_ENVIRONMENT 系统环境变量的值 . Working with multiple environments关于EF迁移,您可以在发布配置文件中配置它,并使用该发布配置文件发布/部署应用程序 .
更新:
调用GearHost cloudsite的步骤:
登录GearHost
单击API选项卡>创建新的API密钥
使用Invoke-RestMethod
简单代码: