【问题标题】:dotnet core 2.0 webjob deployment - VSTSdotnet core 2.0 webjob 部署 - VSTS
【发布时间】:2018-02-06 10:31:43
【问题描述】:

我想通过'release' 定义部署我的网络作业(dotnet core 2.0 commandline application)。我的drop 文件夹包含名为“MyWebjob.zip”的网络作业。我想把它复制到我的 webapps 下面的所有任务都存在的目录中

D:\home\site\wwwroot\App_Data\jobs\continuous>

下面是我现有的release 定义的快照

谁能告诉哪个复制作业适合将内容从drop文件夹复制到'wwwroot\App_Data\jobs\continuous'目录?

或者有什么简单的方法可以使用 VSTS 部署 webjob ( dotnet core 2.0 )?

注意:由于我们的项目启用了“持续集成”,因此我无法使用 FTP。

【问题讨论】:

    标签: azure-devops azure-webjobs azure-pipelines azure-pipelines-release-pipeline


    【解决方案1】:

    您不能使用这些任务来部署 webjob。

    如果您保留MyWebjob.zip文件中的文件夹结构(App_Data\jobs\continuous),您可以通过Azure App Service Deploy任务将其部署到azure web app(应用类型:Web App;应用服务名称:[your app service];包或文件夹:[that zip file];勾选Publish using Web Deploy 选项)。

    否则,我建议您可以通过提取文件和复制文件来组织文件夹结构,然后通过Azure App Service Deploy任务(包或文件夹:[App_Data parent folder];取消选中使用 Web 部署选项发布)。

    您也可以通过Kudu API上传文件(先通过提取文件任务提取zip文件)

    有一些线程可以帮助您在 VSTS 中调用 Kudu API。

    Remove files and foldes on Azure before a new deploy from VSTS

    How to access Kudu in Azure using power shell script

    【讨论】:

      【解决方案2】:

      您可以将自定义目标添加到您的 worker .csproj 文件中。

        <Target Name="UpdateWebJobsPublishDir" BeforeTargets="ComputeFilesToPublish">
          <PropertyGroup>
            <PublishDir>$(PublishDir)App_Data/jobs/continuous/$(ProjectName)/</PublishDir>
          </PropertyGroup>
        </Target>
      

      上面的 vill 在发布之前更新输出目录。在 VSTS/Azure DevOps 中,您只需将项目部署为普通的 webapp,它将被放置在正确的文件夹中。

      【讨论】:

        猜你喜欢
        • 2018-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-24
        • 2022-01-03
        • 2018-09-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多