Create code packages
Code package naming convention
The first step to use the API is to bundle your web application into a code package. Use the following conventions when you name a code package (a package containing Web App binaries, configuration and so on).
<app name>.<package type>.app.<version>.nupkg
- app name – Optional.
- package type – Values are:
- cms (primary Web App)
- commerce (commerce manager)
- version – You can specify in different ways such as using a "date format" or a version number.
Examples
- cms.app.1.0.0.nupkg
- customer.cms.app.1.0.0.nupkg ("customer" being the "app name")
- commerce.app.20190311103000.nupkg (version defined in a date/time format)
Code package content
The package should contain the Web App-related files, which normally exists at the path D:\\Home\Site on the actual Azure Web App.
Only folders and files related to the code are allowed (that is, wwwroot, applicationHost.xdt), and a
metadata file (optional) that should follow the package name.
Sample folder structure
myapp.cms.app.1.0.0.nupkg
wwwroot
App_Data
jobs
continuous
WebJob
Run.cmd
...
...
...
Web.config
Web.Integration.config
Web.Preproduction.config
Web.Production.config
applicationHost.xdt (optional)
applicationHost.Preproduction.xdt (optional)
applicationHost.Production.xdt (optional)
myapp.cms.app.nuspec (optional)Transforms in any target environment need to be a part of the initial code package.
You can download an Optimizely Content Management System (CMS) sample site (Alloy) package example here: alloy.cms.app.1.2.1.nupkg
Create a code package
You can create a package by deploying to a folder and zipping this folder.
Example:
msbuild /p:
Configuration=Release;
DeployOnBuild=True;
DeployDefaultTarget=WebPublish;
WebPublishMethod=FileSystem;
PublishProvider=FileSystem;
LastUsedBuildConfiguration=Release;
ExcludeApp_Data=False;
publishUrl=..\SitePackageContent\wwwroot;DeleteExistingFiles=FalseYou can zip this folder (SitePackageContent in the example) as cms.app.1.0.0.nupkg to make it a deployment package that you can use in DXP.