This repository has been archived by the owner on Sep 4, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 652
Deployment
mtian edited this page Jan 10, 2014
·
5 revisions
When it comes to deploying sites from a git repo, Kudu support two main scenarios: .NET Web Application Project (aka. WAP), and everything else.
This is the simpler case, as in essence deploying just means copying files from the repository to the web root.
- A 'git push' is received and processed, triggering a post-receive hook
- Kudu checks out the relevant commit such that we have the right working files
- Files are copied from the repo to wwwroot
- What's copied may be a subfolder if there is a .deployment file)
- The copying is done in a smart way such that it only copies files that have changed.
- It's also smart enough to delete files that were removed from the repo, while not deleting files that were created at runtime by the site.
- For Node sites, Kudu runs 'npm install' in the wwwroot folder
This case is a bit more complex because there is a build process that needs to happen before files can be deployed.
- A 'git push' is received and processed, triggering a post-receive hook
- Kudu checks out the relevant commit such that we have the right working files
- Kudu locates the relevant csproj file that needs to be built. See Customizing deployments for details on this.
- msbuild is run, and produces artifact in a TMP folder
- Artifacts are copied to wwwroot, using the same smart logic as in the non-WAP case
If you want to completely override how the deployment is performed, see Deployment-hooks.