Condividi tramite


Configurare le pipeline di ALM Accelerator

Le pipeline sono i motori di ALM Accelerator. Automatizzano il processo ALM per Power Platform. Sono create utilizzando Azure Pipelines, un servizio di Azure DevOps, e archiviate in un progetto Azure DevOps.

Quattro pipeline principali vengono utilizzate per automatizzare il processo ALM:

  • Import
  • Esportazione
  • Elimina
  • Compilazione/Distribuzione

Le pipeline sono progettate per l'uso con l'app canvas di ALM Accelerator. Non è necessario utilizzare l'app, ma la consigliamo. L'app fornisce una semplice interfaccia per richiamare le pipeline e un modo per configurarle senza dover comprendere i parametri sottostanti.

Scenari comuni della pipeline dell'acceleratore ALM

Le pipeline e l'app ALM Accelerator hanno configurazioni predefinite che ti consentono di iniziare a utilizzare rapidamente ALM per Power Platform. Le pipeline possono coprire molti scenari ALM diversi per soddisfare i requisiti dell'organizzazione. Le sezioni seguenti descrivono alcuni scenari comuni e come possono essere coperti tramite la configurazione della pipeline, i profili di distribuzione e i passaggi nell'app ALM Accelerator o direttamente tramite la pipeline.

Installare le pipeline in un progetto e il codice sorgente in un altro progetto

Nell'app ALM Accelerator e nei profili di distribuzione, puoi specificare un progetto pipeline e un progetto di origine. Un'opzione nell'impostazione guidata consente di specificare un progetto di pipeline e un repository separati. Queste opzioni sono utili se desideri segmentare l'archiviazione delle soluzioni in base agli utenti, alla struttura aziendale o ad altri fattori. Nella maggior parte dei casi, i file YAML della pipeline vengono archiviati nel progetto pipeline e le pipeline di esportazione, importazione ed eliminazione vengono create nel progetto in cui la soluzione è controllata dal codice sorgente.

Eseguire le pipeline senza ALM Accelerator

L'app canvas ALM Accelerator fornisce un semplice livello di pulsanti per l'esecuzione delle pipeline. Tuttavia, non è necessaria l'app per eseguirle. Se desideri utilizzare le pipeline indipendentemente dall'app, eseguile direttamente dalla riga di comando. È anche possibile creare la propria app. Usa un connettore personalizzato per l'API Azure DevOps, inclusa nella soluzione ALM Accelerator, per richiamare le pipeline utilizzando Power Automate o altre tecnologie Power Platform.

In entrambi i casi, se vuoi utilizzare le pipeline in modo indipendente, la chiave è comprendere i parametri che vengono loro passati.

Parametri della pipeline

Parametri per import-unmanaged-to-dev-environment: usa la pipeline della soluzione di importazione per importare una soluzione non gestita dal controllo del codice sorgente in un ambiente di sviluppo.

La tabella seguente descrive i parametri della pipeline di importazione.

Parametro Esempio Descrizione
Project Progetti Azure DevOps personali Il nome del progetto in cui importare la soluzione
Repository Repository Azure DevOps personale Il nome del repository da cui importare la soluzione
SolutionName MySolutionName Il nome della soluzione da importare
Indirizzo e-mail me@example.com Indirizzo e-mail dell'utente che importa la soluzione
UserName Ultimo, primo Nome utente dell'utente che importa la soluzione
Filiale main Il ramo da cui creare la soluzione e da cui importare
ServiceConnectionName MyServiceConnection Il nome della connessione del servizio da utilizzare per l'importazione
ServiceConnectionUrl example.crm.dynamics.com URL dell'ambiente di creazione per l'importazione
EnvironmentName MyDevEnvironment Utilizzato per trovare le impostazioni di distribuzione nella pipeline di distribuzione; restituisce un nome di cartella nella directory di configurazione nell'origine della soluzione

Parametri per delete-unmanaged-solution-and-components: usa la pipeline della soluzione di eliminazione per eliminare una soluzione non gestita e tutti i relativi componenti da un ambiente di sviluppo.

La tabella seguente descrive i parametri della pipeline di eliminazione.

Parametro Esempio Descrizione
SolutionName MySolutionName Nome della soluzione da eliminare
ServiceConnectionName MyServiceConnection Il nome della connessione del servizio da utilizzare per l'eliminazione della soluzione
ServiceConnectionUrl example.crm.dynamics.com URL dell'ambiente di creazione per la soluzione da eliminare

Parametri per export-solution-to-git: usa la pipeline della soluzione di esportazione per esportare la soluzione in un repository Git.

La tabella seguente descrive i parametri della pipeline di esportazione.

Parametro Esempio Descrizione
Project Progetti Azure DevOps personali Il nome del progetto in cui esportare il codice sorgente della soluzione
Repository Repository Azure DevOps personale Il nome del repository in cui esportare il codice sorgente della soluzione
SolutionName MySolutionName Il nome della soluzione da esportare
Indirizzo e-mail me@example.com Indirizzo e-mail dell'utente che esporta la soluzione
UserName Ultimo, primo Nome utente dell'utente che esporta la soluzione
CommitMessage Correggere il bug #1234 Una descrizione delle modifiche da archiviare sul commit nel repository
Filiale main Ramo di origine da cui creare un ramo oppure ramo esistente in cui eseguire il commit
BranchToCreate funzionalità-1234 Nome univoco di un nuovo ramo da creare in base al parametro Branch, se necessario
ServiceConnectionName MyServiceConnection Il nome della connessione del servizio da utilizzare per l'esportazione della soluzione
ServiceConnectionUrl example.crm.dynamics.com URL dell'ambiente di creazione dove risiede la soluzione non gestita da esportare
Dati [JSON impostazioni di distribuzione] Stringa JSON contenente le impostazioni di distribuzione da utilizzare per l'esportazione e la configurazione delle pipeline di distribuzione
PortalSiteName MyPortalSite Il nome del sito Web Power Pages associato alla soluzione da esportare

Personalizzare il controllo delle versioni delle soluzioni quando si utilizzano le pipeline di ALM Accelerator per esportarle o distribuirle

Per impostazione predefinita, le soluzioni esportate e distribuite vengono sottoposte al controllo della versione utilizzando il nome specificato nel file YAML della pipeline di distribuzione. Tuttavia, le pipeline di ALM Accelerator ti consentono di personalizzare il controllo delle versioni di una soluzione quando la esporti o la distribuisci. Le sezioni seguenti descrivono i metodi che è possibile utilizzare.

Controllo delle versioni esportate

Utilizza il numero della versione esportata dalle pipeline come numero di versione in tutti gli ambienti distribuiti. Crea una variabile denominata UseSolutionVersionFromDataverse nella pipeline di esportazione o una variabile globale nella libreria di variabili per ALM Accelerator. Assegna il valore True. La variabile garantisce che il numero di versione esportato nella soluzione venga mantenuto negli ambienti downstream e si riflette anche nel controllo del codice sorgente quando viene eseguito il commit dell'origine della soluzione.

Logica di controllo delle versioni personalizzato

Utilizza gli hook di ALM Accelerator per impostare la versione della soluzione. Aggiungi la tua logica personalizzata al build-solution-pack-pre-hook.ymlmodello per manipolare Solution.xml direttamente o utilizzando altri strumenti come versione della soluzione pac.

Controllo delle versioni personalizzato Bring-Your-Own-Template

La possibilità di portare i propri modelli per la generazione di pipeline di distribuzione offre flessibilità per il controllo delle versioni durante l'esportazione iniziale di una soluzione. Ad esempio, crea una copia di build-deploy-validation/test/prod-SampleSolution.yml e modifica il nome della build da quello predefinito a una strategia di controllo delle versioni basata su configurare i numeri di esecuzione o build:

build:
  - name: 1.0.$(Date:yyyyMMdd)$(Rev:.r)
    ...

Dopo aver predisposto i modelli, aggiorna le fasi di distribuzione nel tuo profilo di distribuzione in modo che puntino a loro.

Personalizzare il numero di passaggi di distribuzione nelle pipeline e i nomi degli ambienti di destinazione

In modo analogo al controllo delle versioni con modelli, la possibilità di utilizzare i tuoi modelli per la generazione di pipeline di distribuzione offre più flessibilità durante l'esportazione iniziale di una soluzione. Specifica il progetto in cui i modelli esistono e il percorso del modello da utilizzare per generare le pipeline di distribuzione. Le impostazioni per il progetto e il percorso sono nella tabella del profilo e dei passaggi di distribuzione nell'app di amministrazione ALM Accelerator.

Il percorso al modello è relativo alla radice della posizione della pipeline di esportazione. Ad esempio, il percorso predefinito ai modelli di pipeline di distribuzione dell'ambiente di convalida è /Pipelines/build-deploy-validation-SampleSolution.yml. Per utilizzare un modello nello stesso progetto della pipeline di esportazione, specifica il percorso come /Pipelines/build-deploy-validation-MyCustomTemplate.yml.

La tabella seguente descrive i segnaposto nei modelli per i valori specifici della soluzione che vengono sostituiti quando viene generata la pipeline di distribuzione.

Segnaposto Descrizione
SampleSolutionName Il nome della soluzione da distribuire
RepositoryContainingTheBuildTemplates Il repository contenente i modelli di build da utilizzare per la pipeline di distribuzione
BranchContainingTheBuildTemplates Il ramo contenente i modelli di build da utilizzare per la pipeline di distribuzione
alm-accelerator-variable-group Il gruppo di variabili globali utilizzato dai modelli di compilazione per la pipeline di distribuzione

Ti consigliamo di copiare un modello di pipeline build-deploy-validation/test/prod-SampleSolution.yml per iniziare con il tuo modello personalizzato.

Eseguire passaggi personalizzati nelle tue pipeline senza modificare i modelli predefiniti

I modelli di pipeline di ALM Accelerator dispongono di diversi punti di estensione, o hook, che è possibile utilizzare per personalizzare le pipeline riducendo al minimo il rumore dei conflitti di unione negli scenari di aggiornamento. Ulteriori informazioni sugli hook di ALM Accelerator.

Attivare o disattivare azioni specifiche nelle pipeline

Le pipeline utilizzano variabili per determinare se un'attività deve essere eseguita o meno o quale attività di diverse possibilità deve essere eseguita. La tabella seguente descrive le variabili che è possibile impostare per una singola pipeline o, tramite alm-accelerator-variable-group, per tutte le pipeline.

Nota

Per impostare queste variabili per soluzioni specifiche durante l'esportazione, crea una pipeline di esportazione specifica basata sul modello di pipeline di esportazione. Assegnale il nome export-solution-to-git-{SolutionName}. L'app di ALM Accelerator utilizza tale pipeline per la soluzione specifica anziché la pipeline di uso generico export-solution-to-git.

Variabile Default Pipeline Descrizione
GenerateDeploymentSettings Vero Esportazione Se falso, le impostazioni di distribuzione non sono generate e archiviate nel controllo del codice sorgente.
UseDeploymentSettingsPlaceholders Vero Esportazione Se falso, le impostazioni di distribuzione non utilizzano i segnaposto e tutti i valori per le impostazioni di distribuzione vengono salvati in deploymentSettings.json e customDeploymentSettings.json.
IMPORTANTE: le informazioni sensibili possono essere salvate come testo normale nelle impostazioni di implementazione. Tutti gli utenti con accesso al controllo del codice sorgente possono leggere questi valori. Fai attenzione se imposti un valore per questa variabile.
DisableFlows False Esportazione Se vero, tutti i flussi sono disattivati nel codice sorgente decompresso prima del commit.
UseSolutionVersionFromDataverse False Esportazione Se vero, il numero di versione esportato nella soluzione viene conservato negli ambienti downstream. Il numero di versione si riflette nel controllo del codice sorgente quando viene eseguito il commit dell'origine della soluzione.
DoNotExportCurrentEnvironmentVariableValues False Esportazione Se vero, i valori della variabile per l'ambiente corrente vengono rimossi dal codice sorgente per la soluzione decompressa.
PublishCustomizationsBeforeExport Vero Esportazione Se falso, le personalizzazioni non vengono pubblicate prima dell'esportazione della soluzione. Questa opzione è utile se lavori in un ambiente condiviso e desideri esportare solo le ultime personalizzazioni pubblicate.
CacheEnabled Vero Esportazione/Distribuzione Se falso, la memorizzazione nella cache dei moduli di PowerShell è disabilitata. Questa opzione è utile se le pipeline eseguono la pulizia della directory della cache dopo l'esecuzione delle pipeline.
ProcessCanvasApps Vero Esportazione/Distribuzione Se falso, le app canvas non vengono decompresse durante l'esportazione o compresse durante le compilazioni.
NOTA: La funzionalità di decompressione e di compressione è attualmente in anteprima. Non è attualmente consigliato per l'utilizzo in ambienti di produzione. Tuttavia, non puoi visualizzare il codice sorgente del canvas nel controllo del codice sorgente a meno che non imposti questa variabile su True.
DisableSolutionChecker False Distribuisci Se vero, il controllo della soluzione non viene eseguito su ogni compilazione avviata tramite una richiesta pull.
SkipSolutionImport False Distribuisci Se true, il passaggio di importazione della soluzione viene ignorato durante la distribuzione. Tuttavia, altre attività come l'attivazione dei flussi e la condivisione devono ancora essere eseguite.

Passaggi successivi