我有一个Mvc项目,其中我有一个由webpack.so捆绑的Angualar2应用程序,当我在我的root上执行 npm run build:prod 时,dist文件夹生成。之后当我项目dist文件夹中的 msbuild 未包含在项目输出中,因为它没有包含在项目中。无论如何,我可以在我的构建输出文件夹中包含dist文件夹包括在项目中,因为这是Jenkins Auto部署所需要的。任何方法建议都非常值得注意。
答案 0 :(得分:1)
您无需在Jenkins中创建单独的任务,因为这将需要您对“发件人(签出)”路径和“发件人(发布包位置)”路径进行硬编码。
那么更简单,最好的方法就是以下一种方法,
您只需创建自定义任务,然后将其挂钩到已经可用的MSBuild管道目标即可。
要在发布打包过程中包含不属于.csproject一部分(即不包含在.csproj中)的所有文件
1)钩住CopyAllFilesToSingleFolderForPackage操作,并将其指向为复制Angular文件而定义的自定义目标- CollectAngularFiles
<CopyAllFilesToSingleFolderForPackageDependsOn>
CollectAngularFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
2)定义目标[ng\dist
-是我的 output / dist 文件夹]
<Target Name="CollectAngularFiles">
<ItemGroup>
<GeneratedScripts Include="ng\dist\**\*" />
<FilesForPackagingFromProject Include="%(GeneratedScripts.Identity)">
<DestinationRelativePath>ng\dist\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
有关更清晰的实施指南,您可以查看以下博客文章 https://davidsekar.com/angular/include-angular-generated-files-in-msbuild-package