Visual Studio Online构建和发布 - 将文件复制到另一个项目

时间:2017-10-25 15:16:51

标签: azure azure-devops continuous-deployment

在一个解决方案中,我有三个项目(为了这个例子):

- MyWebJob

- MyFrontendWebsite

- MyBackendWebsite

  • /Views/EmailTemplates/SomeEmailTemplate.cshtml(MyBackendWebsite中的文件)

部署后, MyWebJob 会在 MyFrontendWebsite 下方的webjob上运行。

但是,它需要 MyBackendWebsite Emailtemplates文件夹中的电子邮件模板。

我认为解决方案可能是......:

  1. 将EmailTemplates发布为工件。
  2. enter image description here

    1. 在发布期间,使用"复制文件"将该工件复制到webjob文件夹;任务。
    2. enter image description here

      问题是,我不知道在目标文件夹中输入什么。

      使用KUDU,我知道webjob存储在
      中     D:\ home \ site \ wwwroot \ app_data \ jobs \ continuous \ MyWebJob,但设置为目标文件夹不会复制任何内容,尽管发布日志文件告诉我它确实将文件复制到该文件夹​​...

      2017-10-25T15:09:11.7357129Z ##[section]Starting: Copy Files to: D:\home\site\wwwroot\app_data\jobs\continuous\MyWebJob
      2017-10-25T15:09:11.7591720Z ==============================================================================
      2017-10-25T15:09:11.7591720Z Task         : Copy Files
      2017-10-25T15:09:11.7591720Z Description  : Copy files from source folder to target folder using match patterns (The match patterns will only match file paths, not folder paths)
      2017-10-25T15:09:11.7591720Z Version      : 2.117.0
      2017-10-25T15:09:11.7591720Z Author       : Microsoft Corporation
      2017-10-25T15:09:11.7591720Z Help         : [More Information](https://go.microsoft.com/fwlink/?LinkID=708389)
      2017-10-25T15:09:11.7591720Z ==============================================================================
      2017-10-25T15:09:14.3013048Z found 1 files
      2017-10-25T15:09:14.3013048Z Copying d:\a\r1\a\MyBuildDefinition\EmailTemplates\SomeEmailTemplate.cshtml to D:\home\site\wwwroot\app_data\jobs\continuous\MyWebJob\EmailTemplates\SomeEmailTemplate.cshtml
      2017-10-25T15:09:14.3043047Z ##[section]Finishing: Copy Files to: D:\home\site\wwwroot\app_data\jobs\continuous\MyWebJob\EmailTemplates
      2017-10-25T15:09:14.3093036Z ##[section]Finishing: Release
      

      我在这里缺少什么?如何将该电子邮件模板复制到webjob可以访问的位置?

      预先阻止我自己会问......:

      问:为什么不把模板放在webjob项目中呢?

      答:因为模板实际上也在MyBackendWebsite中使用,所以预览电子邮件。

1 个答案:

答案 0 :(得分:1)

您正在将文件复制到发布代理上的文件夹D:\home\site\wwwroot\app_data\jobs\continuous\MyWebJob\EmailTemplates

您需要使用 Windows计算机文件复制任务将文件复制到相应的服务器。