Pregunta

Estoy usando el TeamCity para construir e implementar una colección de aplicaciones de MVC a través de MSBUILD y WEBDEPLOY.

En un paso anterior a mi solución. Construir / implementar, copio un app_offline.htm en el directorio implementar para que pueda realizar actualizaciones de SQL y otros pasos de gestión de la web / solución, incluida la compilación.

Una de las configuraciones en la webdepeo es eliminar archivos que no están incluidos en el proyecto, o que no se necesitan para ejecutar el sitio.Esto elimina mi archivo app_offline.htm cada vez.Si bien entiendo, esto es un tipo de resultado deseado, ¿hay una manera de excluir este archivo para eliminarse del directorio de implementación en la implementación?

He intentado agregar un grupo de elementos con la opción de excludefrompackagefiles, sin resultados.

¿Fue útil?

Solución

I had a similar problem, wanting to keep minified javascript files in the deployment package even though they're not part of the project.

I added a custom MSBuild target for this, that works for me:

<!-- ====== Package the minify files ===== -->

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

 <PropertyGroup>
   <AfterAddIisSettingAndFileContentsToSourceManifest>
    MakeEmptyFolders
   </AfterAddIisSettingAndFileContentsToSourceManifest>
 </PropertyGroup>

<Target Name="CustomCollectFiles1">
  <ItemGroup>
   <!-- =====Controls\Javascript folder ==== -->
    <_CustomFilesForRootFolder Include=".\Controls\Javascript\*.min.js">
    <DestinationRelativePath>%(RecursiveDir)%(Filename)%(Extension)    </DestinationRelativePath>
   </_CustomFilesForRootFolder>
  <FilesForPackagingFromProject Include="%(_CustomFilesForRootFolder.Identity)">
    <DestinationRelativePath>.\Controls\Javascript\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
  </FilesForPackagingFromProject>
 </ItemGroup> 
</Target>

Otros consejos

This other question " Custom app_offline.htm file during publish " suggests one possible way for the final result you describe:

I use my own

app_offline.htm_

file in the solution, which gets published. My deployment script then renames it (removing the trailing _) to make it active.

I can then run my db scripts/do whatever then rename the file bringing the site back.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top