Maven Plugins for Azure Services
This repository contains all Maven plugins for Microsoft Azure services.
- Plugins
- Authentication
- Common Configurations
- CI/CD in Azure DevOps
- Feedback and Questions
- Contributing
- Telemetry
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 Plugin for Azure Functions | ||
Maven Plugin for Azure Spring Cloud |
Authentication
All the Azure Maven plugins share the same authentication logic. There are 4 authentication methods by priority order:
- Service Principles in plugin configuration
- Service Principles in settings.xml (Recommended for production use)
- Maven Plugin for Azure Account (Default if no other method are used)
- 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 [email protected] 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.