The Microsoft Azure Integration is used to connect JFrog Pipelines to Microsoft Azure to manage cloud services and entities.
This integration uses a password-based authentication service principal for connecting to and commanding your Azure cloud service. You must create an Azure service principal for this purpose, and provide the generated keys to this integration.
For example, using the Azure CLI service principal creation function:
az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/SUBSCRIPTION_ID"
will produce the needed key values:
Creating an Integration
You can add this integration by following steps on the Managing Pipelines Integrations page.
Here is the information you need to create this integration:
Name -- choose a friendly name for the integration
App Id -- the
appIdkey used for service principal authentication.
Password -- the
passwordkey used for service principal authentication.
Tenant -- the
tenantkey used for service principal authentication.
An Azure Keys integration can be used in Bash steps for access to its properties through environment variables. This integraton cannot currently be used with any resources.
Make sure that your service principal has adequate permission to perform whatever actions you plan to take in your custom script. This could mean ACR reader role to pull images, AKS contributor to create deployments, etc.
Required for Dynamic Nodes
In order for Pipelines to run dynamic node pools on Azure, you will need to accept Azure Marketplace image terms so that the JFrog Pipelines buildplane VM images can be used. The following Azure CLI commands must be run with the Azure service principal used by this integration:
az vm image terms accept --plan x86_64-ubuntu_16_04 --offer pipelines-buildplane --publisher jfrog az vm image terms accept --plan x86_64-ubuntu_18_04 --offer pipelines-buildplane --publisher jfrog az vm image terms accept --plan x86_64-centos_7 --offer pipelines-buildplane --publisher jfrog az vm image terms accept --plan x86_64-windows_server_2019 --offer pipelines-buildplane --publisher jfrog
Default Environment Variables
When you create a resource with this integration, a set of environment variables is automatically made available.
AppId supplied in the integration
Password supplied in the integration
Tenant supplied in the integration