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
DefaultVersion
Usar 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.
PowerAppsAdminVersion
XrmToolingPackageDeploymentVersion
MicrosoftPowerAppsCheckerVersion
CrmSdkCoreToolsVersion
Versió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
authenticationType
Tipo 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
PowerPlatformEnvironment
Direcció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
PowerPlatformSPN
Entidad 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
PowerPlatformSPN
Conexió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 Platform

Nota: 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.

UseDefaultPACheckerEndpoint
Uso 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.
CustomPACheckerEndpoint
Extremo 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.
FileLocation
Ubicació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.

FilesToAnalyzeSasUri
Archivos 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 (;).
FilesToAnalyze
Archivos 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.
FilesToExclude
Archivos 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
RulesToOverride
Reglas 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"}]
RuleSet
Conjunto de reglas
(Obligatorio) Especifique qué conjunto de reglas desea aplicar. Los dos siguientes informes de ventas están disponibles:
  • Comprobador de soluciones: este es el mismo conjunto de reglas que se ejecuta desde el portal del fabricante de Power Apps.
  • AppSource: es el conjunto de reglas extendido que se usa para certificar una aplicación para poder publicarla en AppSource.
ErrorLevel
Nivel 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.
ErrorThreshold
Umbral 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.
FailOnPowerAppsCheckerAnalysisError
Error
Si true, falla si el análisis del comprobador de Power Apps se devuelve como Failed o FinishedWithErrors.
ArtifactDestinationName
Nombre 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
authenticationType
Tipo 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.
PowerPlatformEnvironment
Direcció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
PowerPlatformSPN
Entidad 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
SolutionInputFile
Archivo 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.

HoldingSolution
Importar 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.
OverwriteUnmanagedCustomizations
Sobrescribir las personalizaciones no administradas
Especifique si desea sobrescribir las personalizaciones no administradas (true|false).
SkipProductUpdateDependencies
Omitir 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).
ConvertToManaged
Convertir a administrado
Especifique si desea importar como solución administrada (true|falso).
AsyncOperation
Importació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).
MaxAsyncWaitTime
Tiempo 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.
PublishWorkflows
Activar 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).
UseDeploymentSettingsFile
Usar 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).
DeploymentSettingsFile
Archivo 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
authenticationType
Tipo 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.
PowerPlatformEnvironment
Direcció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
PowerPlatformSPN
Entidad 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
SolutionName
Nombre 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.
AsyncOperation
Actualizació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.
MaxAsyncWaitTime
Tiempo 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 automatizadas

Exportar 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
authenticationType
Tipo 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.
PowerPlatformEnvironment
Direcció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
PowerPlatformSPN
Entidad 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
SolutionName
Nombre de la solución
(Obligatorio) Nombre de la solución a exportar. Siempre use la solución Nombre, no su Nombre para mostrar.
SolutionOutputFile
Archivo 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.

AsyncOperation
Exportació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.
MaxAsyncWaitTime
Tiempo 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.
Managed
Exportar 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.
ExportAutoNumberingSettings
Exportar la configuración de numeración automática
Exportar la configuración de numeración automática (true|false).
ExportCalendarSettings
Exportar configuración de calendario
Exportar configuración de calendario (true|false).
ExportCustomizationSettings
Exportar configuración de personalización
Exportar configuración de personalización (true|false).
ExportEmailTrackingSettings
Exportar configuración de seguimiento de correo electrónico
Exportar configuración de seguimiento de correo electrónico (true|false).
ExportGeneralSettings
Exportar configuración general
Exportar configuración general (true|false).
ExportIsvConfig
Exportar configuración ISV
Exportar configuración ISV (true|false).
ExportMarketingSettings
Exportar configuración de marketing
Exportar configuración de marketing (true|false).
ExportOutlookSynchronizationSettings
Exportar configuración de sincronización de Outlook
Exportar configuración de sincronización de Outlook (true|false).
ExportRelationshipRoles
Exportar roles de relación
Exportar roles de relación (true|false).
ExportSales
Exportar 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
SolutionInputFile
Archivo de entrada de la solución
(Obligatorio) La ruta de acceso y el nombre del archivo solution.zip para desempaquetar.
SolutionTargetFolder
Carpeta 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.
SolutionType
Tipo 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
SolutionOutputFile
Archivo 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.
SolutionSourceFolder
Carpeta de origen de la solución a empaquetar
(Obligatorio) La ruta de acceso y la carpeta de origen de la solución a empaquetar.
SolutionType
Tipo 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
authenticationType
Tipo 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.
PowerPlatformEnvironment
Direcció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
PowerPlatformSPN
Entidad 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
SolutionName
Nombre 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
authenticationType
Tipo 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.
PowerPlatformEnvironment
Direcció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
PowerPlatformSPN
Entidad 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
authenticationType
Tipo 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.
PowerPlatformEnvironment
Direcció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
PowerPlatformSPN
Entidad 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
SolutionName
Nombre 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.
SolutionVersionNumber
Nú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
authenticationType
Tipo 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.
PowerPlatformEnvironment
Direcció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
PowerPlatformSPN
Entidad 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
PackageFile
Archivo de paquete
(Obligatorio) La ruta y el nombre de archivo del ensamblado del archivo del paquete (.dll).
MaxAsyncWaitTime
Tiempo 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.

Un nuevo entorno solo puede ser aprovisionado si su licencia o capacidad permite la creación de entornos adicionales. Para obtener más información sobre cómo ver la capacidad, consulte Detalles de la página de capacidad.

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
authenticationType
Tipo 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.
PowerPlatformEnvironment
Direcció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.
PowerPlatformSPN
Entidad 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.
DisplayName
Nombre
(Obligatorio) El nombre para mostrar del entorno creado.
LocationName
Región de implementación
(Obligatorio) La región en la que se debe crear el entorno.
EnvironmentSku
Tipo de entorno
(Obligatorio) El tipo de instancia a implementar. Las opciones son Espacio aislado, Producción, Prueba y SubscriptionBasedTrial.
AppsTemplate
Aplicaciones
Para un tipo de entorno que no es de prueba, las aplicaciones compatibles son D365_CustomerService, D365_FieldService, D365_ProjectServiceAutomation y D365_Sales.
CurrencyName
Moneda
(Obligatorio) Divisa base para el entorno creado. La moneda no se puede actualizar después de que se crea el entorno.
LanguageName
Language
(Obligatorio) El idioma base en el entorno.
DomainName
Nombre 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
authenticationType
Tipo 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.
PowerPlatformEnvironment
Direcció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.
PowerPlatformSPN
Entidad 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
authenticationType
Tipo 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.
PowerPlatformEnvironment
Direcció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.
PowerPlatformSPN
Entidad 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.
BackupLabel
Etiqueta 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
authenticationType
Tipo 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.
PowerPlatformEnvironment
Direcció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.
PowerPlatformSPN
Entidad 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.
TargetEnvironmentUrl
URL del entorno de destino
(Obligatorio) La URL del entorno de destino que desea copiar.
CopyType
Tipo de copia
El tipo de copia que se va a realizar: Copia completa o Copia mínima.
OverrideFriendlyName
Nombre descriptivo del reemplazo
Cambie el nombre descriptivo del entorno de destino por otro nombre (true|false).
FriendlyName
Nombre descriptivo
El nombre descriptivo del entorno de destino.
DisableAdminMode
Deshabilitar 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.

Exportar una solución desde un entorno de desarrollo (DEV).

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.

Compilar 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.

Implementar a un entorno de producción (PROD).

Vea también

Microsoft Power Platform Build Tools para Azure DevOps