Maven plugins for Azure
Перейти к файлу
Andy Xu(devdiv) 5d8e6b9d5b
add exception classes and AzureCredentialWrapper (#1206)
* add exception classes and AzureCredentialWrapper

Co-authored-by: Andy Xu(devdiv) <andxu@microsoft>
2021-01-05 16:26:14 +08:00
.github Begin using git token with Rich Nav task (#1163) 2020-09-25 09:15:35 +08:00
.mvn/wrapper add maven wrapper (#41) 2017-08-31 19:32:45 +08:00
azure-auth-helper Bump version for next release (#1202) 2020-12-25 16:10:03 +08:00
azure-functions-maven-plugin Support retry annotation in functions maven plugin (#1203) 2021-01-04 11:02:04 +08:00
azure-maven-plugin Bump version for next release (#1202) 2020-12-25 16:10:03 +08:00
azure-maven-plugin-lib Bump version for next release (#1202) 2020-12-25 16:10:03 +08:00
azure-maven-plugins-pom Support retry annotation in functions maven plugin (#1203) 2021-01-04 11:02:04 +08:00
azure-sfmesh-maven-plugin Bump version for next release (#1202) 2020-12-25 16:10:03 +08:00
azure-spring-cloud-maven-plugin Bump version for next release (#1202) 2020-12-25 16:10:03 +08:00
azure-toolkit-libs add exception classes and AzureCredentialWrapper (#1206) 2021-01-05 16:26:14 +08:00
azure-tools-common Support retry annotation in functions maven plugin (#1203) 2021-01-04 11:02:04 +08:00
azure-webapp-maven-plugin Bump version for next release (#1202) 2020-12-25 16:10:03 +08:00
build-tools Bump version for next release (#1202) 2020-12-25 16:10:03 +08:00
ci Fix CI pipeline (#1050) 2020-04-08 10:40:24 +08:00
docs [refactor] extract shared modules among maven/gradle/intellij/eclipse plugins. (#1167) 2020-10-29 10:43:17 +08:00
.codecov.yml turn off integration test by default (#40) 2017-08-31 16:25:16 +08:00
.gitignore using maven 3.3.3 to keep consistency with other maven plugins. (#832) 2019-09-24 16:32:35 +08:00
.travis.yml Remove install spring-sdk command in travis script for it has been public released (#880) 2019-11-01 17:38:51 +08:00
LICENSE Replace windows line end to linux line end. (#695) 2019-07-12 10:41:30 +08:00
README.md Improved readme content and links. (#1196) 2020-11-24 09:31:49 +08:00
mvnw add maven wrapper (#41) 2017-08-31 19:32:45 +08:00
mvnw.cmd Replace windows line end to linux line end. (#695) 2019-07-12 10:41:30 +08:00
pom.xml [refactor] extract shared modules among maven/gradle/intellij/eclipse plugins. (#1167) 2020-10-29 10:43:17 +08:00

README.md

Maven Plugins for Azure Services

This repository contains all Maven plugins for Microsoft Azure services.

For more information on authentication, common configurations, CI CD, and general plugin documentation, see the Wiki.

Plugins

Maven Plugin Maven Central Version Build Status
Maven Plugin for Azure Web Apps Maven Central AppVeyor Webapp Plugin
Maven Plugin for Azure Functions Maven Central AppVeyor Function Plugin
Maven Plugin for Azure Spring Cloud Maven Central

Authentication

All the Azure Maven plugins share the same authentication logic. There are 4 authentication methods by priority order:

  1. Service Principles in plugin configuration
  2. Service Principles in settings.xml (Recommended for production use)
  3. Maven Plugin for Azure Account (Default if no other method are used)
  4. Azure CLI

For example, if you have not only Service Principles configured in your plugin configuration, but also Azure CLI installed and logged in, the Azure Maven plugins will use the Service Principles in your plugin configuration.

If no credential found, Azure Maven plugins will automatically log you in with the third method like OAuth or DeviceLogin provided by Maven Plugin for Azure Account.

AuthType (since Web App 1.9.0)

You can specify which authentication method to use with in Maven configuration, the default value is auto, and here are all the valid values:

  • service_principal
    • Will use credential specified in plugin configuration or Maven settings.xml, this is also the first priority authentication method in auto
  • azure_auth_maven_plugin
    • Will use credential provided by Azure Auth Maven Plugin, it will first consume existing secret files, and will guide you auth with Oath or Device Login if you hadn't authenticated with Auth Maven Plugin before.
  • azure_cli
    • Will use credential provided by Azure CLI, this could also be used in Azure Cloud Shell.
  • auto
    • Will try all the auth methods in the following sequence: service_principal, azure_auth_maven_plugin(existing secret files), azure_cli, azure_auth_maven_plugin

Maven plugin will only try the specific authentication method (except auto) if is set in configuration.

See the Authentication section in our wiki for more information.

Common Configurations

The three Maven Plugins for Azure Web App/Functions/Spring Cloud support below configuration properties.

Property Required Description Version
<subscriptionId> false Specifies the target subscription.
Use this setting when you have multiple subscriptions in your authentication file.
WebApp: 0.1.0
Function: 0.1.0
Spring: 1.0.0
<allowTelemetry> false Specifies whether to allow this plugin to send telemetry data; default value is true. WebApp: 0.1.0
Function: 0.1.0
Spring: 1.0.0
<auth> false Specifies auth configuration. For more info, please refer to here. WebApp:0.1.0
Function:0.1.0
<authType> false Specifies which authentication method to use, default value is auto. For more infos, please refer to here. WebApp:1.9.0
<skip> false Specifies whether to skip execution. Default value is false. WebApp: 0.1.4
Function: 0.1.0

Feedback and Questions

To report bugs or request new features, file issues on Issues. Or, ask questions on Stack Overflow with tag azure-java-tools.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once in all repositories using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Telemetry

This project collects usage data and sends it to Microsoft to help improve our products and services. Read Microsoft's privacy statement to learn more. If you would like to opt out of sending telemetry data to Microsoft, you can set allowTelemetry to false in the plugin configuration. Please read our documents to find more details.