如何将特定文件夹作为程序包部署

阿尔特姆·波兰丘克(Artem Polishchuk)

我有一个通过npm命令构建的asp.net MVC项目和前端。

并在构建后提供应用文件夹。 在此处输入图片说明

该文件夹不包含在我的csproj文件中。

当我从teamcity部署时,我使用2个步骤。

  1. 发布申请
  2. / app文件夹的FTP部署(每个文件分别)

但是ftp的部署非常非常缓慢。如何将该文件夹作为“程序包”部署?

也许我可以将其动态包含到csproj文件中,或者其他?

刘o

但是ftp的部署非常非常缓慢。如何将该文件夹作为“程序包”部署?

实际上,FTP部署包含许多文件的文件夹会比较慢。因为它仅打开一个线程,并且一次仅上传一个文件。您可以考虑通过MSBuild目标将该文件夹压缩:

  <ItemGroup>
    <Content Include="app\**\*.*" />
  </ItemGroup>

  <Import Project="..\.build\MSBuild.Community.Tasks.Targets" />

  <Target Name="AfterBuild">
    <PropertyGroup>
      <ZipPackagePath>bin</ZipPackagePath>
    </PropertyGroup>
    <Zip Files="@(Link)" WorkingDirectory="$(ZipPackagePath)" ZipFileName="output\ZipName.zip" ZipLevel="9" />
  </Target>

注意:您需要添加nuget包“ MSBuildTasks”,并且可以将ReleasePath更改为其他文件夹。

但是在FTP部署后,您仍然需要解压缩该zip文件。

也许我可以将其动态包含到csproj文件中,或者其他?

或者,您可以将其动态地添加到您的项目文件中,这是我们的建议。

为此,请卸载您的项目。然后,在项目的最后,在结束标记之前,在脚本下面放置:

  <Target Name="AddAppFiles" AfterTargets="Build">
    <ItemGroup>
      <Content Include="app\**\*.*" />
    </ItemGroup>
  </Target>

发布后,应用文件夹包含在目标位置:

在此处输入图片说明

注意:

  1. 使用此目标,该文件夹app不会出现在解决方案资源管理器中(动态包含)。

  2. 如果app文件夹是在构建完成后生成的,则可以将更AfterTargets="Build"改为BeforeTargets="_CheckForInvalidConfigurationAndPlatform",例如:

<Target Name="AddAppFiles" BeforeTargets="_CheckForInvalidConfigurationAndPlatform">

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将自定义作曲家程序包放在Laravel的vendor文件夹之外?

如何将vue dist文件夹部署到GlassFish 5?

如何npm发布特定文件夹但作为包根目录

Swift:首次运行应用程序时,如何将文件从应用程序包复制到“文档”文件夹

如何将整个文件夹或程序包从Java转换为Objective-C?

如何使用MSBuild为该项目文件夹中的所有文件创建MSdeploy程序包

Nuget将文件从程序包文件夹复制到项目目录

如何将文件夹中的所有文件捆绑到VS2015中的UWP应用程序包中?

如何将node_modules文件夹部署到生产服务器?

如何将文件从特定文件夹复制到C#中的共享文件夹?

如何使用文件夹作为模块在pythonanywhere上部署Flask应用程序

如何将根文件夹作为子文件夹重定向到站点?

如何将特定文件重命名为许多文件夹的文件夹名称

如何将Flask应用作为程序包部署到App Engine?

从子文件夹导入javascript程序包

如何将Docker映像从Github程序包注册表部署到Azure Web Apps

将文件夹权限分配给“所有应用程序包”组

在Android程序包中访问资源文件夹和原始文件夹中的文件列表

如何将列表中的特定文件从子文件夹复制到文件夹?

如何在Maven的“程序包”上重新生成目标文件夹?

文件夹路径!=程序包名称

将文件包放入iOS应用程序中的特定文件夹位置

将所有受限制的应用程序包添加到文件夹权限

如何将 Angular 2 应用程序部署为独立的(使用 dist 文件夹)

如何将 create-react-app 部署到 gh-pages 子文件夹?

如何将图片保存在特定文件夹中仅用于我的应用程序(正确)?

Python:如何将文件夹作为模块导入

如何将用户包部署到共享文件夹“repo”?

如何将数据框作为excel文件保存到子文件夹