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: Utilizzare la pipeline di importazione della soluzione per importare una soluzione non gestita dal controllo del codice sorgente in uno sviluppo ambiente.
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: Utilizzare la pipeline di eliminazione della soluzione per eliminare una soluzione non gestita e tutti i suoi componenti da uno sviluppo ambiente.
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: Utilizzare la pipeline di esportazione della soluzione 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.yml
modello 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. Scopri di più sugli hook 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 potrebbero essere salvate in testo normale nelle impostazioni di distribuzione. 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 compressione della tela è 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. |