Skip to content

Test Plan for Web App

Hanxiao Liu edited this page Jan 9, 2019 · 33 revisions

Prerequisites:

  • Install the newest code into local Maven repo - the newest code is in develop branch
  • Prepare a webapp maven project
  • change the maven plugin version to the newest one.
  • Add following to pom.xml, the id will be ready when stage bits ready
<pluginRepositories>
    <pluginRepository>
        <id>{id}</id>
        <name>{id}</name>
        <url>https://oss.sonatype.org/content/repositories/{id}/</url>
    </pluginRepository>
</pluginRepositories>

azure-webapp:deploy

Note: Usage can be found at: https://github.com/Microsoft/azure-maven-plugins/blob/master/docs/web-app-samples.md

Can deploy to Web App on Windows

  • Can create Web App if it does not exist
  • Can update application settings
  • Can deploy through ftp deployment type
  • Can deploy through jar deployment type
  • Can deploy through zip deployment type
  • Can deploy through war deployment type
    • Can deploy to ROOT
    • Can deploy to other context path
    • Can specify the war file location
  • Can access Web App Url

Can Auto detect deployment type

  • Can deploy through jar deployment type when set AUTO and set jar
  • Can deploy through war deployment type when set AUTO and set war
  • Can deploy through jar deployment type when no setting and set jar
  • Can skip deploy when set to NONE
  • Can deploy through jar deployment type when both and are not set

Can deploy to Deployment Slot on Windows

  • Can report error if Web App does not exist
  • Can create Deployment Slot if it does not exist
    • Can create new Deployment Slot without any configuration when configurationSource set to new
    • Can create new Deployment Slot and copy parent web app configuration when configurationSource set to new
    • Can create new Deployment Slot and copy configuration from other slot when configurationSource set to other slot name
    • Can report error if configurationSource set to a non existing slot name
    • Can create new Deployment Slot and copy parent web app configuration when configurationSource is not specified
  • Can update Web App application settings
  • Can deploy through ftp deployment type
  • Can deploy through jar deployment type
  • Can deploy through zip deployment type
  • Can deploy through war deployment type
    • Can deploy to ROOT
    • Can deploy to other context path
    • Can specify the war file location
  • Can access Deployment Slot Url
    • If the dedployment slot is created without any configuration, even java runtime, the url is not accessible if we deploy jar/war file to it

Can deploy to Web App on Linux

  • Can create Web App if it does not exist
  • Can update application settings
  • For tomcat runtime:
    • Can deploy through ftp deployment type
    • Can deploy through zip deployment type
    • Can deploy through war deployment type
      • Can deploy to ROOT
      • Can deploy to other context path
      • Can specify the war file location
  • For jre8 runtime:
    • Can deploy through zip deployment type
    • Can deploy through ftp deployment type. Example
  • Can access Web App Url

Can deploy to Deployment Slot on Linux

  • Can report error if Web App does not exist
  • Can create Deployment Slot if it does not exist
    • Can create new Deployment Slot without any configuration when configurationSource set to new
    • Can create new Deployment Slot and copy parent web app configuration when configurationSource set to new
    • Can create new Deployment Slot and copy configuration from other slot when configurationSource set to other slot name
    • Can report error if configurationSource set to a non existing slot name
    • Can create new Deployment Slot and copy parent web app configuration when configurationSource is not specified
  • Can update Web App application settings
  • For tomcat runtime:
    • Can deploy through ftp deployment type
    • Can deploy through zip deployment type
    • Can deploy through war deployment type
      • Can deploy to ROOT
      • Can deploy to other context path
      • Can specify the war file location
  • For jre8 runtime:
    • Can deploy through zip deployment type
    • Can deploy through ftp deployment type. Example
  • Can access Deployment Slot Url

Can deploy to Web App on Linux with public DockerHub container image

  • Can create Web App if it does not exist
  • Can update application settings
  • Can access Web App Url

Can deploy to Deployment Slot on Linux with public DockerHub container image

  • Can report error if Web App does not exist
  • Can create Deployment Slot if it not exist
    • Can create new Deployment Slot without any configuration when configurationSource set to new
    • Can create new Deployment Slot and copy parent web app configuration when configurationSource set to new
    • Can create new Deployment Slot and copy configuration from other slot when configurationSource set to other slot name
    • Can report error if configurationSource set to a non existing slot name
    • Can create new Deployment Slot and copy parent web app configuration when configurationSource is not specified
  • Can update Web App application settings
  • Can access Deployment Slot Url

Can deploy to Web App on Linux with private DockerHub container image

  • Can create Web App if it does not exist
  • Can update application settings
  • Can access Web App Url

Can deploy to Deployment Slot on Linux with private DockerHub container image

  • Can report error if Web App does not exist
  • Can create Deployment Slot if it does not exist
    • Can create new Deployment Slot without any configuration when configurationSource set to new
    • Can create new Deployment Slot and copy parent web app configuration when configurationSource set to new
    • Can create new Deployment Slot and copy configuration from other slot when configurationSource set to other slot name
    • Can report error if configurationSource set to a non existing slot name
    • Can create new Deployment Slot and copy parent web app configuration when configurationSource is not specified
  • Can update Web App application settings
  • Can access Deployment Slot Url

Note: How to set up docker auth in Maven settings: https://stackoverflow.com/a/39924695/6756246

Can deploy to Web App on Linux with docker container image in private container registry

  • Can create Web App if it does not exist
  • Can update application settings
  • Can access Web App Url

Can deploy to Deployment Slot on Linux with docker container image in private container registry

  • Can create Deployment Slot if it does not exist
  • Can update Web App application settings
  • Can access Deployment Slot url

Can deploy Web App to existing App Service Plan. Example

azure-webapp:config

Can generate configuration

  • Can generate configuration when there is no configuration node in pom
<plugin> 
        <groupId>com.microsoft.azure</groupId>  
        <artifactId>azure-webapp-maven-plugin</artifactId>  
        <version>1.5.2-SNAPSHOT</version>  
</plugin>
  • Could deploy after generate configuration

Can update configuration

  • Can update Application Setting(appName,resourcegroup,region,pricingTier)
  • Can update Runetime Setting (os,javaVersion,webContainer/runtimeStack)
  • Can update DeploymentSlot Setting (name,ConfigurationSource)
  • Default value will be the old value of same attribute
  • It should not update node which is not modified (Some attribute values ${property}, the attribute should not be modified if the value is not change)
  • Could deploy after update configuration

Can convert configuration with V1 schema to V2

  • Will ask user convert to v2 schema if the schema verison is v1 and do the convert job
Clone this wiki locally