Service Fabric Compose Deploy task
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019
Use this task to deploy a Docker-compose application to a Service Fabric cluster. This task deploys an Azure Service Fabric application to a cluster according to the settings defined in the compose file.
Prerequisites
NOTE: This task is currently in preview and requires a preview version of Service Fabric that supports compose deploy. See Docker Compose deployment support in Azure Service Fabric.
Service Fabric
This task uses a Service Fabric installation to connect and deploy to a Service Fabric cluster.
Download and install Azure Service Fabric Core SDK on the build agent.
YAML snippet
# Service Fabric Compose deploy
# Deploy a Docker Compose application to an Azure Service Fabric cluster
- task: ServiceFabricComposeDeploy@0
inputs:
clusterConnection:
#composeFilePath: '**/docker-compose.yml'
#applicationName: 'fabric:/Application1'
#registryCredentials: 'AzureResourceManagerEndpoint' # Options: azureResourceManagerEndpoint, containerRegistryEndpoint, usernamePassword, none
#dockerRegistryConnection: # Optional
#azureSubscription: # Required when registryCredentials == AzureResourceManagerEndpoint
#registryUserName: # Optional
#registryPassword: # Optional
#passwordEncrypted: true # Optional
#upgrade: # Optional
#deployTimeoutSec: # Optional
#removeTimeoutSec: # Optional
#getStatusTimeoutSec: # Optional
Arguments
| Argument | Description |
|---|---|
| Cluster Connection | The Azure Service Fabric service connection to use to connect and authenticate to the cluster. |
| Compose File Path | Path to the compose file that is to be deployed. Can include wildcards and variables. Example: $(System.DefaultWorkingDirectory)/**/drop/projectartifacts/**/docker-compose.yml. Note: combining compose files is not supported as part of this task. |
| Application Name | The Service Fabric Application Name of the application being deployed. Use fabric:/ as a prefix. Application Names within a Service Fabric cluster must be unique. |
| Registry Credentials Source | Specifies how credentials for the Docker container registry will be provided to the deployment task: Azure Resource Manager Endpoint: An Azure Resource Manager service connection and Azure subscription to be used to obtain a service principal ID and key for an Azure Container Registry. Container Registry Endpoint: A Docker registry service connection. If a certificate matching the Server Certificate Thumbprint in the Cluster Connection is installed on the build agent, it will be used to encrypt the password; otherwise the password will not be encrypted and sent in clear text. Username and Password: Username and password to be used. We recommend you encrypt your password using Invoke-ServiceFabricEncryptText (Check Password Encrypted). If you do not, and a certificate matching the Server Certificate Thumbprint in the Cluster Connection is installed on the build agent, it will be used to encrypt the password; otherwise the password will not be encrypted and sent in clear text.None: No registry credentials are provided (used for accessing public container registries). |
| Deploy Timeout (s) | Timeout in seconds for deploying the application. |
| Remove Timeout (s) | Timeout in seconds for removing an existing application. |
| Get Status Timeout (s) | Timeout in seconds for getting the status of an existing application. |
| Control options | See Control options |
Also see: Service Fabric PowerShell Utility
Open source
This task is open source on GitHub. Feedback and contributions are welcome.
FAQ
Do I need an agent?
You need at least one agent to run your build or release.
I'm having problems. How can I troubleshoot them?
See Troubleshoot Build and Release.
I can't select a default agent pool and I can't queue my build or release. How do I fix this?
See Agent pools.
My NuGet push task is failing with the following error: "Error: unable to get local issuer certificate". How can I fix this?
This can be fixed by adding a trusted root certificate. You can either add the NODE_EXTRA_CA_CERTS=file environment variable to your build agent, or you can add the NODE.EXTRA.CA.CERTS=file task variable in your pipeline. See Node.js documentation for more details about this variable. See Set variables in a pipeline for instructions on setting a variable in your pipeline.
الملاحظات
إرسال الملاحظات وعرضها المتعلقة بـ