Tareas de Microsoft Power Platform Build Tools
Las tareas de compilación disponibles se describen en las siguientes secciones. Luego, mostraremos algún ejemplo de canalizaciones de Azure DevOps que hacen uso de estas tareas. Para obtener información sobre las herramientas de compilación y cómo descargarlas, vea Microsoft Power Platform Build Tools para Azure DevOps.
Tarea de ayuda
Las tareas auxiliares disponibles se describen a continuación.
Instalador de herramientas Power Platform
Esta tarea debe agregarse una vez antes que cualquier tarea de Power Platform Build Tools de compilación en canalizaciones de compilación y lanzamiento. Esta tarea instala un conjunto de herramientas específicas de Power Platform–que necesita el agente para ejecutar las tareas de compilación de Microsoft Power Platform. Esta tarea no requiere más configuración cuando se agrega, pero contiene parámetros para las versiones específicas de cada una de las herramientas que se están instalando.
Para mantenerse actualizado con las versiones de la herramienta a lo largo del tiempo, asegúrese de que estos parámetros correspondan a las versiones de las herramientas que se requieren para que la canalización se ejecute correctamente.
Fragmento de código YAML (instalador)
# Installs default Power Platform Build Tools
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.tool-installer.PowerPlatformToolInstaller@0
displayName: 'Power Platform Tool Installer'
# Installs specific versions of the Power Platform Build Tools
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.tool-installer.PowerPlatformToolInstaller@0
displayName: 'Power Platform Tool Installer'
inputs:
DefaultVersion: false
XrmToolingPackageDeploymentVersion: 3.3.0.928
Parámetros (instalador)
| Parámetros | Descripción |
|---|---|
DefaultVersionUsar las versiones de herramientas predeterminadas |
Establecido en true para usar la versión predeterminada de todas las herramientas, de lo contrario en false. Obligatorio (y false) cuando se especifican versiones de herramientas. |
PowerAppsAdminVersionXrmToolingPackageDeploymentVersionMicrosoftPowerAppsCheckerVersionCrmSdkCoreToolsVersionVersión de herramienta |
La versión específica de la herramienta que se va a usar. |
Power Platform WhoAmI
Verifica una conexión del servicio de entorno Power Platform mediante la conexión y la realización de una solicitud WhoAmI. Esta tarea puede ser útil para incluirla al principio de la canalización para verificar la conectividad antes de que comience el procesamiento.
Fragmento de código YAML (WhoAmI)
# Verifies an environment service connection
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.whoami.PowerPlatformWhoAmi@0
displayName: 'Power Platform WhoAmI'
inputs:
# Service Principal/client secret (supports MFA)
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'My service connection'
# Verifies an environment service connection
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.whoami.PowerPlatformWhoAmi@0
displayName: 'Power Platform WhoAmI'
inputs:
# Username/password (no MFA support)
PowerPlatformEnvironment: 'My service connection'
Parámetros (WhoAmI)
| Parámetros | Descripción |
|---|---|
authenticationTypeTipo de autenticación |
(Opcional) Especifique PowerPlatformEnvironment para una conexión de nombre de usuario/contraseña o PowerPlatformSPN para una conexión de secreto de cliente/entidad de servicio. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
PowerPlatformEnvironmentDirección URL de entorno de Power Platform |
El punto de conexión de servicio del entorno al que conectarse. Se define en Conexiones del servicio en Configuración del proyecto. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
PowerPlatformSPNEntidad de servicio de Power Platform |
El punto de conexión de servicio del entorno al que conectarse. Se define en Conexiones del servicio en Configuración del proyecto. |
Comprobación de calidad
A continuación se muestran las tareas disponibles para comprobar la calidad de una solución.
Power Platform Checker
Esta tarea del comprobador de PowerApps ejecuta una comprobación de análisis estático en sus soluciones frente a un conjunto de reglas de prácticas recomendadas para identificar cualquier patrón problemático que pueda haber introducido accidentalmente al generar la solución.
Fragmento de código YAML (comprobador)
# Static analysis check of your solution
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.checker.PowerPlatformChecker@0
displayName: 'Power Platform Checker '
inputs:
PowerPlatformSPN: 'Dataverse service connection'
RuleSet: '0ad12346-e108-40b8-a956-9a8f95ea18c9'
# Static analysis check of your solution
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.checker.PowerPlatformChecker@0
displayName: 'Power Platform Checker '
inputs:
PowerPlatformSPN: 'Dataverse service connection'
UseDefaultPACheckerEndpoint: false
CustomPACheckerEndpoint: 'https://japan.api.advisor.powerapps.com/'
FileLocation: sasUriFile
FilesToAnalyzeSasUri: 'SAS URI'
FilesToAnalyze: '**\*.zip'
FilesToExclude: '**\*.tzip'
RulesToOverride: 'JSON array'
RuleSet: '0ad12346-e108-40b8-a956-9a8f95ea18c9'
Parámetros (comprobador)
| Parámetros | Descripción |
|---|---|
PowerPlatformSPNConexión del servicio |
(Obligatorio) Se requiere una conexión a un entorno licenciado de Microsoft Power Platform para utilizar el inspector de Power Platform. Las conexiones de servicio se definen en Conexiones de servicio bajo Configuración del proyecto utilizando el tipo de conexión Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power PlatformNota: Service Principal es el único método de autenticación disponible para la tarea del verificador, por lo que si usa un nombre de usuario / contraseña para todas las demás tareas, deberá crear una conexión separada para usar con la tarea del verificador. Para obtener más información sobre cómo configurar las entidades de servicio para usar con esta tarea, consulte Configurar conexiones de entidad de servicio para entornos Power Platform. |
UseDefaultPACheckerEndpointUso predeterminado de extremo de comprobador de Power Platform |
De manera predeterminada (true), la ubicación geográfica del servicio de comprobación utilizará la misma geografía que el entorno al que se conecta. |
CustomPACheckerEndpointExtremo de comprobador de PAC personalizado |
Requerido cuando UseDefaultPACheckerEndpoint es false. Tiene una opción para especificar otra geografía para usar, por ejemplo https://japan.api.advisor.powerapps.com. Para obtener una lista de las geografías disponibles, vea Utilizar el API del Comprobador de Power Platform. |
FileLocationUbicación del archivo(s) a analizar |
Obligatorio cuando se hace referencia a un archivo desde una URL de firma de acceso compartido (SAS) sasUriFile.Nota: es importante hacer referencia a un archivo de solución exportado y no a los archivos fuente desempaquetados en su repositorio. Se pueden analizar los archivos de soluciones administradas y no administradas. |
FilesToAnalyzeSasUriArchivos SAS que se van a analizar |
Obligatorio si FileLocation se ha establecido en sasUriFile. Escriba la URI de SAS. Puede agregar más de un URI SAS a través de una lista separada por comas (,) o punto y coma (;). |
FilesToAnalyzeArchivos locales que se van a analizar |
Obligatorio si los archivos SAS no se analizan. Especifique la ruta de acceso y el nombre de los archivos zip para analizar. Pueden emplearse comodines. Por ejemplo, introduzca **\*.zip para todos los archivos zip en todas las subcarpetas. |
FilesToExcludeArchivos locales que se van a excluir |
Especifique los nombres de los archivos que se excluirán del análisis. Si hay más de uno, proporcione una lista separada por comas (,) o punto y coma (;). Esta lista puede incluir un nombre de archivo completo o un nombre con caracteres de comodines al principio o al final, como * jquery o form.js |
RulesToOverrideReglas para reemplazar |
Una matriz JSON que contiene reglas y niveles para reemplazar. Los valores aceptados para OverrideLevel son: Crítico, Alto, Medio, Bajo, Informativo. Ejemplo: [{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}] |
RuleSetConjunto de reglas |
(Obligatorio) Especifique qué conjunto de reglas desea aplicar. Los dos siguientes informes de ventas están disponibles:
|
ErrorLevelNivel de error |
Combinado con el parámetro Umbral de error define la gravedad de los errores y las advertencias permitidas. Los valores de umbral admitidos son <level>IssueCount donde nivel = Crítico, Alto, Medio, Bajo e Informativo. |
ErrorThresholdUmbral de error |
Define el número de errores (> = 0) de un nivel especificado que están permitidos para que el comprobador pase las soluciones que se están verificando. |
FailOnPowerAppsCheckerAnalysisErrorError |
Si true, falla si el análisis del comprobador de Power Apps se devuelve como Failed o FinishedWithErrors. |
ArtifactDestinationNameNombre del artefacto de DevOps |
Especifica el nombre de los artefactos Azure DevOps para el archivo .sarif del comprobador. |
Tareas de solución
Este conjunto de tareas puede automatizar las acciones de la solución. Las tareas de entorno descritas más adelante en esta sección que crean, copian o restauran un entorno sobrescribirán las conexiones de servicio con los entornos recién creados. Esto hace posible realizar tareas de solución en entornos que se crean a pedido.
Importar solución Power Platform
Importa una solución a un entorno de destino.
Fragmento de código YAML (Importar)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.import-solution.PowerPlatformImportSolution@0
displayName: 'Power Platform Import Solution '
inputs:
PowerPlatformEnvironment: 'My service connection'
SolutionInputFile: 'C:\Public\Contoso_sample_1_0_0_1_managed.zip'
HoldingSolution: true
OverwriteUnmanagedCustomizations: true
SkipProductUpdateDependencies: true
ConvertToManaged: true
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.import-solution.PowerPlatformImportSolution@0
displayName: 'Power Platform Import Solution '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
SolutionInputFile: 'C:\Public\Contoso_sample_1_0_0_1_managed.zip'
AsyncOperation: true
MaxAsyncWaitTime: 60
PublishWorkflows: false
Parámetros (Importar)
| Parámetros | Descripción |
|---|---|
authenticationTypeTipo de autenticación |
(Obligatorio para SPN) Especifique PowerPlatformEnvironment para una conexión de nombre de usuario/contraseña o PowerPlatformSPN para una conexión de secreto de cliente/entidad de servicio. |
PowerPlatformEnvironmentDirección URL de entorno de Power Platform |
El punto de conexión de servicio en el que desea importar la solución (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
PowerPlatformSPNEntidad de servicio de Power Platform |
El punto de conexión de servicio en el que desea importar la solución (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
SolutionInputFileArchivo de entrada de la solución |
(Obligatorio) La ruta de acceso y el nombre del archivo solution.zip para importar en el entorno de destino (por ejemplo $(Build.ArtifactStagingDirectory)$(SolutionName).zip ). Nota: las variables le ofrecen un modo adecuado para obtener bits clave de datos en diferentes partes de la canalización. Consulte Usar variables predefinidas para ver una lista completa. |
HoldingSolutionImportar como solución de retención |
Un parámetro avanzado (true|false) que se utiliza cuando es necesario actualizar una solución. Este parámetro hospeda la solución en Dataverse, pero no actualiza la solución hasta que se ejecuta la tarea Aplicar actualización de la solución. |
OverwriteUnmanagedCustomizationsSobrescribir las personalizaciones no administradas |
Especifique si desea sobrescribir las personalizaciones no administradas (true|false). |
SkipProductUpdateDependenciesOmitir dependencias de actualización de productos |
Especifique si se debe omitir la aplicación de las dependencias relacionadas con las actualizaciones de productos (true|false). |
ConvertToManagedConvertir a administrado |
Especifique si desea importar como solución administrada (true|falso). |
AsyncOperationImportación asincrónica |
Si se selecciona (true), la operación de importación se realizará de forma asincrónica. Esto se recomienda para soluciones más grandes ya que de lo contrario esta tarea expirará automáticamente después de 4 minutos. Al seleccionar asincrónico sondeará y esperará hasta que se alcance MaxAsyncWaitTime (true|false). |
MaxAsyncWaitTimeTiempo de espera máximo |
Tiempo máximo de espera en minutos para la operación asincrónica; el valor predeterminado es 60 min (1 h), igual que el valor predeterminado de Azure DevOps para las tareas. |
PublishWorkflowsActivar procesos después de la importación |
Especifique si algún proceso (flujos de trabajo) en la solución debe activarse después de la importación (true|false). |
UseDeploymentSettingsFileUsar archivo de configuración de implementación |
Las referencias de conexión y los valores de variable de entorno se pueden definir con un archivo configuración de implementación (true|false). |
DeploymentSettingsFileArchivo de configuración de implementación |
(Requerido cuando UseDeploymentSettingsFile=true) La ruta y el nombre de archivo del archivo de configuración de implementación. |
Aplicar actualización de la solución de Power Platform
Actualiza una solución que se ha importado como solución de retención.
Fragmento de código YAML (actualización)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.apply-solution-upgrade.PowerPlatformApplySolutionUpgrade@0
displayName: 'Power Platform Apply Solution Upgrade '
inputs:
PowerPlatformEnvironment: 'My service connection'
SolutionName: 'Contoso_sample'
AsyncOperation: false
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.apply-solution-upgrade.PowerPlatformApplySolutionUpgrade@0
displayName: 'Power Platform Apply Solution Upgrade '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
SolutionName: 'Contoso_sample'
MaxAsyncWaitTime: 45
Parámetros (actualización)
| Parámetros | Descripción |
|---|---|
authenticationTypeTipo de autenticación |
(Obligatorio para SPN) Especifique PowerPlatformEnvironment para una conexión de nombre de usuario/contraseña o PowerPlatformSPN para una conexión de secreto de cliente/entidad de servicio. |
PowerPlatformEnvironmentDirección URL de entorno de Power Platform |
El punto de conexión de servicio en el que desea actualizar la solución (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
PowerPlatformSPNEntidad de servicio de Power Platform |
El punto de conexión de servicio en el que desea actualizar la solución (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
SolutionNameNombre de la solución |
(Obligatorio) El nombre de la solución para aplicar la actualización. Siempre use la solución Nombre, no su Nombre para mostrar. |
AsyncOperationActualización asincrónica |
Si se selecciona (true), la operación de actualización se realizará como un trabajo de lote asincrónico. Al seleccionar asincrónico sondeará y esperará hasta que se alcance MaxAsyncWaitTime. |
MaxAsyncWaitTimeTiempo de espera máximo |
Tiempo máximo de espera en minutos para la operación asincrónica; el valor predeterminado es 60 min (1 h), igual que el valor predeterminado de Azure DevOps para las tareas. |
Nota
Las variables le ofrecen un modo adecuado para obtener bits clave de datos en diferentes partes de la canalización. Consulte Usar variables predefinidas para ver una lista completa. Puede rellenar previamente la información de las variables de entorno y de referencia de conexión para el entorno de destino mientras importa una solución mediante un archivo de configuración de implementación.
Más información: Completar previamente las referencias de conexión y las variables de entorno para implementaciones automatizadasExportar solución Power Platform
Exporta una solución desde un entorno fuente.
Fragmento de código YAML (Exportar)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.export-solution.PowerPlatformExportSolution@0
displayName: 'Power Platform Export Solution '
inputs:
PowerPlatformEnvironment: 'My service connection'
SolutionName: 'Contoso_sample'
SolutionOutputFile: 'C:\Public\Contoso_sample_1_0_0_1_managed.zip'
Managed: true
MaxAsyncWaitTime: 120
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.export-solution.PowerPlatformExportSolution@0
displayName: 'Power Platform Export Solution '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
SolutionName: 'Contoso_sample'
SolutionOutputFile: 'C:\Public\Contoso_sample_1_0_0_1_managed.zip'
Managed: true
MaxAsyncWaitTime: 120
ExportAutoNumberingSettings: true
ExportCalendarSettings: true
ExportCustomizationSettings: true
ExportEmailTrackingSettings: true
ExportGeneralSettings: true
ExportIsvConfig: true
ExportMarketingSettings: true
ExportOutlookSynchronizationSettings: true
ExportRelationshipRoles: true
ExportSales: true
Parámetros (Exportar)
| Parámetros | Descripción |
|---|---|
authenticationTypeTipo de autenticación |
(Obligatorio para SPN) Especifique PowerPlatformEnvironment para una conexión de nombre de usuario/contraseña o PowerPlatformSPN para una conexión de secreto de cliente/entidad de servicio. |
PowerPlatformEnvironmentDirección URL de entorno de Power Platform |
El punto de conexión de servicio en el que desea actualizar la solución (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
PowerPlatformSPNEntidad de servicio de Power Platform |
El punto de conexión de servicio en el que desea actualizar la solución (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
SolutionNameNombre de la solución |
(Obligatorio) Nombre de la solución a exportar. Siempre use la solución Nombre, no su Nombre para mostrar. |
SolutionOutputFileArchivo de salida de la solución |
(Obligatorio) La ruta de acceso y el nombre del archivo solution.zip para exportar en el entorno de origen (por ejemplo $(Build.ArtifactStagingDirectory)$(SolutionName).zip ). Nota: las variables le ofrecen un modo adecuado para obtener bits clave de datos en diferentes partes de la canalización. Consulte Usar variables predefinidas para ver una lista completa. |
AsyncOperationExportación asincrónica |
Si se selecciona (true), la operación de exportación se realizará como un trabajo de lote asincrónico. Al seleccionar asincrónico sondeará y esperará hasta que se alcance MaxAsyncWaitTime. |
MaxAsyncWaitTimeTiempo de espera máximo |
Tiempo máximo de espera en minutos para la operación asincrónica; el valor predeterminado es 60 min (1 h), igual que el valor predeterminado de Azure DevOps para las tareas. |
ManagedExportar como administrado |
Si se selecciona (true), exporte la solución como una solución administrada; de lo contrario, exporte como una solución no administrada. |
ExportAutoNumberingSettingsExportar la configuración de numeración automática |
Exportar la configuración de numeración automática (true|false). |
ExportCalendarSettingsExportar configuración de calendario |
Exportar configuración de calendario (true|false). |
ExportCustomizationSettingsExportar configuración de personalización |
Exportar configuración de personalización (true|false). |
ExportEmailTrackingSettingsExportar configuración de seguimiento de correo electrónico |
Exportar configuración de seguimiento de correo electrónico (true|false). |
ExportGeneralSettingsExportar configuración general |
Exportar configuración general (true|false). |
ExportIsvConfigExportar configuración ISV |
Exportar configuración ISV (true|false). |
ExportMarketingSettingsExportar configuración de marketing |
Exportar configuración de marketing (true|false). |
ExportOutlookSynchronizationSettingsExportar configuración de sincronización de Outlook |
Exportar configuración de sincronización de Outlook (true|false). |
ExportRelationshipRolesExportar roles de relación |
Exportar roles de relación (true|false). |
ExportSalesExportar ventas |
Exportar ventas (true|false). |
Desempaquetar solución de Power Platform
Toma un archivo de la solución comprimido y lo descompone en varios archivos XML de forma que estos archivos se puedan leer y administrar más fácilmente mediante un sistema de control de origen.
Fragmento de código YAML (Desempaquetar)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.unpack-solution.PowerPlatformUnpackSolution@0
displayName: 'Power Platform Unpack Solution '
inputs:
SolutionInputFile: 'C:\Public\Contoso_sample_1_0_0_1_managed.zip'
SolutionTargetFolder: 'C:\Public'
SolutionType: Both
Parámetros (desempaquetar)
| Parámetros | Descripción |
|---|---|
SolutionInputFileArchivo de entrada de la solución |
(Obligatorio) La ruta de acceso y el nombre del archivo solution.zip para desempaquetar. |
SolutionTargetFolderCarpeta de destino para desempaquetar la solución |
(Obligatorio) La ruta de acceso y la carpeta de destino a la que desea desempaquetar la solución. |
SolutionTypeTipo de solución |
(Obligatorio) El tipo de solución que quiere desempaquetar. Las opciones incluyen: No gestionado (recomendado), Gestionado y Ambos. |
Empaquetar solución de Power Platform
Empaqueta una solución representada en el control de origen en un archivo solution.zip que se puede importar en otro entorno.
Fragmento de código YAML (empaquetar)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.pack-solution.PowerPlatformPackSolution@0
displayName: 'Power Platform Pack Solution '
inputs:
SolutionSourceFolder: 'C:\Public'
SolutionOutputFile: 'Contoso_sample_1_0_0_1_managed.zip'
SolutionType: Managed
Parámetros (empaquetar)
| Parámetros | Descripción |
|---|---|
SolutionOutputFileArchivo de salida de la solución |
(Obligatorio) La ruta de acceso y el nombre del archivo solution.zip en las que empaquetar la solución. |
SolutionSourceFolderCarpeta de origen de la solución a empaquetar |
(Obligatorio) La ruta de acceso y la carpeta de origen de la solución a empaquetar. |
SolutionTypeTipo de solución |
(Obligatorio) El tipo de solución que quiere empaquetar. Las opciones incluyen: No gestionado (recomendado), Gestionado y Ambos. |
Eliminar solución de Power Platform
Elimina una solución en el entorno de destino.
Fragmento de código YAML (Eliminar)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.delete-solution.PowerPlatformDeleteSolution@0
displayName: 'Power Platform Delete Solution '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
SolutionName: 'Contoso_sample'
Parámetros (Eliminar)
| Parámetros | Descripción |
|---|---|
authenticationTypeTipo de autenticación |
(Obligatorio para SPN) Especifique PowerPlatformEnvironment para una conexión de nombre de usuario/contraseña o PowerPlatformSPN para una conexión de secreto de cliente/entidad de servicio. |
PowerPlatformEnvironmentDirección URL de entorno de Power Platform |
El punto de conexión de servicio en el que desea eliminar la solución (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
PowerPlatformSPNEntidad de servicio de Power Platform |
El punto de conexión de servicio en el que desea eliminar la solución (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
SolutionNameNombre de la solución |
(Obligatorio) El nombre de la solución que se va a eliminar. Siempre use la solución Nombre, no su Nombre para mostrar. |
Publicación de personalizaciones Power Platform
Publica todas las personalizaciones en un entorno.
Fragmento de código YAML (Publicar)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.publish-customizations.PowerPlatformPublishCustomizations@0
displayName: 'Power Platform Publish Customizations '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
Parámetros (publicar)
| Parámetros | Descripción |
|---|---|
authenticationTypeTipo de autenticación |
(Obligatorio para SPN) Especifique PowerPlatformEnvironment para una conexión de nombre de usuario/contraseña o PowerPlatformSPN para una conexión de secreto de cliente/entidad de servicio. |
PowerPlatformEnvironmentDirección URL de entorno de Power Platform |
El punto de conexión de servicio en el que desea publicar las personalizaciones (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
PowerPlatformSPNEntidad de servicio de Power Platform |
El punto de conexión de servicio en el que desea publicar las personalizaciones (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
Establecer versión de la solución de Power Platform
Actualiza la versión de una solución.
Fragmento de código YAML (Versión)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.set-solution-version.PowerPlatformSetSolutionVersion@0
displayName: 'Power Platform Set Solution Version '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
SolutionName: 'Contoso_sample'
SolutionVersionNumber: 1.0.0.0
Parámetros (versión)
| Parámetros | Descripción |
|---|---|
authenticationTypeTipo de autenticación |
(Obligatorio para SPN) Especifique PowerPlatformEnvironment para una conexión de nombre de usuario/contraseña o PowerPlatformSPN para una conexión de secreto de cliente/entidad de servicio. |
PowerPlatformEnvironmentDirección URL de entorno de Power Platform |
El punto de conexión de servicio para el que desea definir la versión de la solución (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
PowerPlatformSPNEntidad de servicio de Power Platform |
El punto de conexión de servicio para el que desea definir la versión de la solución (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
SolutionNameNombre de la solución |
(Obligatorio) El nombre de la solución para la que desea definir la versión. Siempre use la solución Nombre, no su Nombre para mostrar. |
SolutionVersionNumberNúmero de versión de la solución |
(Obligatorio) Número de versión que desea configurar. |
Si bien el número de versión se puede codificar en la canalización, se recomienda utilizar una variable de canalización de Azure DevOps como BuildId. Esto proporciona opciones para definir la forma exacta del número de versión en la pestaña "Opciones", por ejemplo: $(Año:yyyy)-$(Mes:MM)-$(Día:dd)-$(rev:rr)-3
Esta definición se puede usar en la tarea Establecer versión de solución estableciendo la propiedad Número de versión con: $(Build.BuildId) en lugar de codificar 20200824.0.0.2.
Alternativamente, un resultado de script de tarea en línea de powershell $(formato de obtención de fecha aaaa.MM.dd.HHmm) establecido en la variable vacía denominada SolutionVersion como host de escritura ("##vso[task.setvariable variable=SolutionVersion;]$version"), definir la versión de la solución en $(SolutionVersion).
Implementar paquete de Power Platform
Implementa un paquete en un entorno. La implementación de un paquete en lugar de un único archivo de solución proporciona una opción para implementar varias soluciones, datos y código en un entorno.
Fragmento de código YAML (Implementar)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.deploy-package.PowerPlatformDeployPackage@0
displayName: 'Power Platform Deploy Package '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
PackageFile: 'C:\Users\Public\package.dll'
MaxAsyncWaitTime: 120
Parámetros (Implementar)
| Parámetros | Descripción |
|---|---|
authenticationTypeTipo de autenticación |
(Obligatorio para SPN) Especifique PowerPlatformEnvironment para una conexión de nombre de usuario/contraseña o PowerPlatformSPN para una conexión de secreto de cliente/entidad de servicio. |
PowerPlatformEnvironmentDirección URL de entorno de Power Platform |
El punto de conexión de servicio en el que desea implementar el paquete (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
PowerPlatformSPNEntidad de servicio de Power Platform |
El punto de conexión de servicio en el que desea implementar el paquete (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. Más información: consulte BuildTools.EnvironmentUrl en Entorno de creación de Power Platform |
PackageFileArchivo de paquete |
(Obligatorio) La ruta y el nombre de archivo del ensamblado del archivo del paquete (.dll). |
MaxAsyncWaitTimeTiempo de espera máximo |
Tiempo máximo de espera en minutos para la operación asincrónica; el valor predeterminado es 60 min (1 h), igual que el valor predeterminado de Azure DevOps para las tareas. |
Tareas de administración de entornos
Automatice las tareas comunes de administración del ciclo de vida del entorno (ELM).
Crear entorno de Power Platform
Crear un entorno nuevo. La creación de un nuevo entorno también crea automáticamente BuildTools.EnvironmentUrl.
Importante
Cuando se establece, BuildTools.EnvironmentUrl se utilizará como la conexión de servicio predeterminada para tareas posteriores en la canalización. Cada tarea descrita en este artículo solo usa el extremo de la conexión de servicio si BuildTools.EnvironmentUrl no está configurado.
Fragmento de código YAML (crear entorno)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.create-environment.PowerPlatformCreateEnvironment@0
displayName: 'Power Platform Create Environment '
inputs:
PowerPlatformEnvironment: 'My service connection'
DisplayName: 'First Coffee test'
DomainName: firstcoffee
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.create-environment.PowerPlatformCreateEnvironment@0
displayName: 'Power Platform Create Environment '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
DisplayName: 'First Coffee prod'
EnvironmentSku: Production
AppsTemplate: 'D365_CustomerService,D365_FieldService'
LocationName: canada
LanguageName: 1036
CurrencyName: ALL
DomainName: firstcoffee
Parámetros (crear entorno)
| Parámetros | Descripción |
|---|---|
authenticationTypeTipo de autenticación |
(Obligatorio para SPN) Especifique PowerPlatformEnvironment para una conexión de nombre de usuario/contraseña o PowerPlatformSPN para una conexión de secreto de cliente/entidad de servicio. |
PowerPlatformEnvironmentDirección URL de entorno de Power Platform |
El punto de conexión de servicio en el que desea crear el entorno (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. |
PowerPlatformSPNEntidad de servicio de Power Platform |
El punto de conexión de servicio en el que desea crear el entorno (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. |
DisplayNameNombre |
(Obligatorio) El nombre para mostrar del entorno creado. |
LocationNameRegión de implementación |
(Obligatorio) La región en la que se debe crear el entorno. |
EnvironmentSkuTipo de entorno |
(Obligatorio) El tipo de instancia a implementar. Las opciones son Espacio aislado, Producción, Prueba y SubscriptionBasedTrial. |
AppsTemplateAplicaciones |
Para un tipo de entorno que no es de prueba, las aplicaciones compatibles son D365_CustomerService, D365_FieldService, D365_ProjectServiceAutomation y D365_Sales. |
CurrencyNameMoneda |
(Obligatorio) Divisa base para el entorno creado. La moneda no se puede actualizar después de que se crea el entorno. |
LanguageNameLanguage |
(Obligatorio) El idioma base en el entorno. |
DomainNameNombre de dominio |
(Obligatorio) Esta es la cadena específica del entorno que forma parte de la dirección URL. Por ejemplo, para un entorno con la siguiente dirección URL: https://powerappsbuildtasks.crm.dynamics.com, el nombre del dominio sería "powerappsbuildtasks". Nota: si introduce un nombre de dominio que ya está en uso, la tarea anexa un valor numérico al nombre del dominio, empezando por 0. Para el ejemplo anterior, la dirección URL podría convertirse enhttps://powerappsbuildtasks0.crm.dynamics.com. |
Eliminar entorno de Power Platform
Elimina un entorno.
Fragmento de código YAML (Eliminar entorno)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.delete-environment.PowerPlatformDeleteEnvironment@0
displayName: 'Power Platform Delete Environment '
inputs:
PowerPlatformEnvironment: 'My service connection'
Parámetros (Eliminar entorno)
| Parámetros | Descripción |
|---|---|
authenticationTypeTipo de autenticación |
(Obligatorio para SPN) Especifique PowerPlatformEnvironment para una conexión de nombre de usuario/contraseña o PowerPlatformSPN para una conexión de secreto de cliente/entidad de servicio. |
PowerPlatformEnvironmentDirección URL de entorno de Power Platform |
El punto de conexión de servicio en el que desea eliminar el entorno (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. |
PowerPlatformSPNEntidad de servicio de Power Platform |
El punto de conexión de servicio en el que desea eliminar el entorno (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. |
Copia de seguridad del entorno de Power Platform
Realiza una copia de seguridad de un entorno.
Fragmento de código YAML (entorno de copia de seguridad)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.backup-environment.PowerPlatformBackupEnvironment@0
displayName: 'Power Platform Backup Environment '
inputs:
PowerPlatformEnvironment: 'My service connection'
BackupLabel: 'Full backup - $(Build.BuildNumber)'
Parámetros (entorno de copia de seguridad)
| Parámetros | Descripción |
|---|---|
authenticationTypeTipo de autenticación |
(Obligatorio para SPN) Especifique PowerPlatformEnvironment para una conexión de nombre de usuario/contraseña o PowerPlatformSPN para una conexión de secreto de cliente/entidad de servicio. |
PowerPlatformEnvironmentDirección URL de entorno de Power Platform |
El punto de conexión de servicio en el que desea realizar una copia de seguridad del entorno (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. |
PowerPlatformSPNEntidad de servicio de Power Platform |
El punto de conexión de servicio en el que desea realizar una copia de seguridad del entorno (p. ej., https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. |
BackupLabelEtiqueta de la copia de seguridad |
(Obligatorio) La etiqueta que se asignará a la copia de seguridad. |
Copiar entorno de Power Platform
Copia un entorno a un entorno de destino. Dos tipos de copias están disponibles: completa y mínima. Una copia completa incluye datos y metadatos de la solución (personalizaciones), mientras que una copia mínima solo incluye los metadatos de la solución pero no los datos reales.
Fragmento de código YAML (entorno de copia)
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.copy-environment.PowerPlatformCopyEnvironment@0
displayName: 'Power Platform Copy Environment '
inputs:
PowerPlatformEnvironment: 'My service connection'
TargetEnvironmentUrl: 'https://contoso-test.crm.dynamics.com'
steps:
- task: microsoft-IsvExpTools.PowerPlatform-BuildTools.copy-environment.PowerPlatformCopyEnvironment@0
displayName: 'Power Platform Copy Environment '
inputs:
authenticationType: PowerPlatformSPN
PowerPlatformSPN: 'Dataverse service connection '
TargetEnvironmentUrl: 'https://contoso-test.crm.dynamics.com'
CopyType: MinimalCopy
OverrideFriendlyName: true
FriendlyName: 'Contoso Test'
DisableAdminMode: false
Parámetros (entorno de copia)
| Parámetros | Descripción |
|---|---|
authenticationTypeTipo de autenticación |
(Obligatorio para SPN) Especifique PowerPlatformEnvironment para una conexión de nombre de usuario/contraseña o PowerPlatformSPN para una conexión de secreto de cliente/entidad de servicio. |
PowerPlatformEnvironmentDirección URL de entorno de Power Platform |
El punto de conexión de servicio para el entorno de origen desde el que desea copiar (por ejemplo, https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. |
PowerPlatformSPNEntidad de servicio de Power Platform |
El punto de conexión de servicio para el entorno de origen desde el que desea copiar (por ejemplo, https://powerappsbuildtools.crm.dynamics.com). Definido en Conexiones del servicio en Configuración del proyecto con el tipo de conexión de Power Platform. |
TargetEnvironmentUrlURL del entorno de destino |
(Obligatorio) La URL del entorno de destino que desea copiar. |
CopyTypeTipo de copia |
El tipo de copia que se va a realizar: Copia completa o Copia mínima. |
OverrideFriendlyNameNombre descriptivo del reemplazo |
Cambie el nombre descriptivo del entorno de destino por otro nombre (true|false). |
FriendlyNameNombre descriptivo |
El nombre descriptivo del entorno de destino. |
DisableAdminModeDeshabilitar el modo de administración |
Si se deshabilitará el modo de administración (true|false). |
Construir y liberar canalizaciones
Ahora que hemos identificado lo que se puede hacer con las herramientas de compilación, veamos cómo puede aplicar estas herramientas a sus canalizaciones de compilación y lanzamiento. Una visión general conceptual se muestra a continuación. Veamos algunos detalles de la implementación de la canalización utilizando las tareas de la herramienta de compilación en las subsecciones siguientes.
Para obtener más información sobre la creación de estas canalizaciones y, en realidad, realizar la creación práctica de canalizaciones utilizando las Microsoft Power Platform Build Tools, complete los laboratorios de Build Tools, que puede descargar desde GitHub.
Más información sobre canalizaciones Azure DevOps: Usar Azure Pipelines
Crear canalización: exporta una solución desde un entorno de desarrollo (DEV)
La siguiente figura muestra las tareas de la herramienta de compilación que puede agregar a una canalización que exporta una solución desde un entorno de desarrollo.

Crear canalización: crea un solución administrada
La siguiente figura muestra las tareas de la herramienta de compilación que puede agregar a una canalización que compila una solución administrada.

Lanzar canalización: implementación en un entorno de producción (PROD)
La siguiente figura muestra las tareas de la herramienta de compilación que puede agregar a una canalización que implementa un entorno de producción.
