【问题标题】:Include additional files in build using MSBuild使用 MSBuild 在构建中包含其他文件
【发布时间】:2017-04-27 04:03:16
【问题描述】:

过去,我们结合使用 TeamCity 和 MsDeploy 来部署我们的项目。我们最近开始使用 Octopus 部署,而 TeamCity 纯粹用于构建。这意味着更改 TeamCity 中的构建过程并删除对 MsDeploy 的任何引用。

过去,我们在项目文件中使用了如下配置,其中包含其他文件和目录:

  <PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
  CustomCollectFiles;
  $(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>

  <Target Name="CustomCollectFiles" BeforeTargets="BeforeBuild">
<ItemGroup>
  <UCommerceAssemblies Include="$(MSBuildThisFileDirectory)..\..\Resources\UCommerce\ucommerce\*" />
  <FilesForPackagingFromProject Include="%(UCommerceAssemblies.Identity)">
    <DestinationRelativePath>bin\uCommerce\%(Filename)%(Extension)</DestinationRelativePath>
  </FilesForPackagingFromProject>
</ItemGroup>

但是,现在这似乎没有被调用。看来(无论如何对我而言)这些管道是为从 Visual Studio 发布或使用 MSDeploy 创建的,但是我们只需在构建发生之前或之后将这些文件包含在目录中即可。网络上似乎有大量关于这样做的参考资料,但它们都提到了使用 MSDeploy。

谁能解释我如何在不使用 MSDeploy 的情况下在构建中包含其他文件/目录?

提前感谢您的宝贵时间 点开发

【问题讨论】:

  • 只需要复制那些 FilesForPackagingFromProject 吗?然后像 ` 里面有一个 Copy 任务应该做的很好

标签: msbuild teamcity msbuild-task octopus-deploy


【解决方案1】:

当您使用 Octopus 进行部署时,您只需在发送到 Octopus 的代码包中包含其他文件(参考程序集等)。

要做到这一点,需要使用 OctoPack 进行项目打包。然后将 .nuspec 文件添加到项目中,例如 .nuspec 中的这一行会将来自某个不同位置的所有文件添加到“bin\additional”下的 .nupkg 包中,并且将被 octopus 正确部署。

 

努斯佩克docs

类似的解决方案是讨论here

【讨论】:

    猜你喜欢
    • 2019-01-31
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多