WindowsAzure/azure-sdk-tools — Issue #111: Support an .azureignore file to exclude build/debugging artifacts from publishing
Author: tedglaza-msft
Created: 2012-01-12 20:44:35+00:00
State: open

The deployment tool currently packages up the entire directory structure of any role when publishing to Azure. This works for dynamic languages like node, but won't be as effective for static languages with compilation artifacts, etc. We'd like to add support for an .azureignore file that would allow developers to blacklist files or directories of their choice from publication to Azure.

Here are some early thoughts on how it should work:

* An .azureignore file can be placed in a role directory to exclude files from the CsPack.exe generated .cspkg
* When there's no .azureignore file present, we'll just pass the entire role directory like we currently do via the cspack.exe /role switch
* When there is an .azureignore file present, we'll filter the files in the directory accordingly and manually supply all the non-blacklisted files via the cspack.exe /roleFiles switch
* The scaffolding files for node web and worker roles will include .azureignores for all the *.logs directories (to correctly solve the problem reported by issue #60)
* The .azureignore file format will match the .gitignore extensions to glob (see the man page for .gitignore for more details)
* If we don't find a .azureignore file, we'll check for a .gitignore file in the root of the role and use that instead (but we won't get fancy and merge .gitignores across directories (parent or children) or guarantee exact semantics - all we'll do is treat your .gitignore the same way we treat .azureignore)