首页 文章

VSTS部署到非Azure Cloud 平台

提问于
浏览
1

我现在有一个带有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 回答

  • 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

    简单代码:

    $url="https://api.gearhost.com/v1/cloudsites/[could site id]/stop"
     $APIID="[step 2]"
     $result=Invoke-RestMethod -Method POST -Uri $url -Headers @{Authorization=("bearer {0}" -f $APIID)} -ContentType "application/json"
    

相关问题