For the complete documentation index, see llms.txt. This page is also available as Markdown.

Distribuzioni

Le distribuzioni offrono la possibilità di pacchettizzare e versionare i repository di configurazione di PowerShell Universal. Possono essere distribuite in un cluster di nodi PowerShell Universal per garantire che tutti i nodi abbiano la stessa configurazione senza la necessità di configurare la sincronizzazione git. Le distribuzioni sono pacchettizzate come moduli PowerShell e possono essere distribuite direttamente dai repository PowerShell.

Le distribuzioni possono essere utilizzate anche per creare rapidamente snapshot delle configurazioni PSU ed eseguire il rollback o il roll forward senza dover modificare manualmente i file.

Creazione di una distribuzione

È necessaria l'autorizzazione Settings.Deployments\Create per creare nuove distribuzioni.

API

L'API e il modulo di gestione di PowerShell Universal possono essere utilizzati per creare distribuzioni di PowerShell Universal. Il cmdlet New-PSUDeployment può essere utilizzato per generare una nuova distribuzione. Questa distribuzione verrà archiviata nel database. Conterrà lo stato corrente del repository di PowerShell Universal per il computer a cui è connesso.

-Path è facoltativo e conterrà il file NuPkg del modulo.

New-PSUDeployment -Name 'Production' -Version '1.0.1' -Path .\production.1.0.1.nupkg

Può anche chiamare l'API di HTTP.

Invoke-RestMethod http://localhost:5000/api/v1/deployments -Method POST -Body (@{
   Name = 'Production'
   Version = '1.0.1'
} | ConvertTo-Json)

Applicazione di una distribuzione come modulo

Se desidera che il modulo di distribuzione compaia nel PSModulePath, può aggiungere il parametro della stringa di query asModule al percorso. Questo garantisce che le funzioni del modulo di distribuzione siano disponibili nell'ambiente.

Console di amministrazione

Non consigliamo di creare manualmente le distribuzioni poiché è preferibile l'automazione, ma è possibile farlo tramite la console di amministrazione.

Faccia clic su Impostazioni \ Distribuzioni per accedere alla pagina delle distribuzioni. È necessaria l'autorizzazione Setings.Deployments\Read per visualizzare questa pagina. Faccia clic su Crea distribuzione per configurare una nuova distribuzione. Questa distribuzione verrà mostrata nella tabella delle distribuzioni.

Applicazione di una distribuzione

L'applicazione di una distribuzione riconfigura tutti i nodi di un cluster PowerShell Universal con il contenuto della distribuzione selezionata. È necessaria una sola chiamata API per riconfigurare l'intero cluster.

È necessaria l'autorizzazione Settings.Deployments\Execute per applicare una distribuzione.

Pinning

Il pinning applica una distribuzione e garantisce che la console di amministrazione e l'API di gestione siano di sola lettura. Ciò impedisce agli utenti di modificare le risorse nel cluster.

Il pinning è consigliato per i cluster PowerShell Universal di produzione.

API

Può utilizzare il cmdlet Select-PSUDeployment o l'API di gestione per applicare una distribuzione. Questa operazione può essere eseguita utilizzando un repository PowerShell o selezionando una distribuzione presente nel database.

Console di amministrazione

Non consigliamo di gestire le distribuzioni tramite la console di amministrazione, ma è possibile. Preferisca sempre l'automazione ai processi di distribuzione manuali. Nella console di amministrazione, faccia clic su Impostazioni \ Distribuzioni.

Da lì, può vedere tutte le distribuzioni elencate che sono state create nell'ambiente PSU. Faccia clic sul pulsante Applica per applicare la distribuzione al cluster. Avrà la possibilità di eseguire il pin della distribuzione.

Repository PowerShell

Può utilizzare l'API di gestione e il modulo Universal per applicare una distribuzione direttamente da un repository PowerShell, come PowerShell Gallery o una condivisione file. Il repository deve essere registrato su tutti i nodi del cluster per poter applicare correttamente la distribuzione. Può utilizzare Register-PSResourceRepository per registrare un repository.

Per applicare la distribuzione, chiami Select-PSUDeployment con il parametro Module impostato.

GitHub Actions

Può utilizzare l'azione ironmansoftware/deploy-universal per distribuire il suo repository direttamente da GitHub. Esegue il checkout del repository corrente e invia le modifiche a PowerShell Universal.

Di seguito è riportato un esempio di YAML per farlo. Per maggiori informazioni sull'azione di distribuzione, faccia clic qui.

Git vs distribuzioni

La sincronizzazione git e le distribuzioni offrono funzionalità simili. Sia la sincronizzazione git sia le distribuzioni garantiscono che tutti i nodi di un cluster condividano una configurazione, ma ognuna presenta pro e contro diversi.

Git

Git consente agli utenti di effettuare commit direttamente in PowerShell Universal. Potranno visualizzare la cronologia e confrontare le modifiche senza dover uscire dalla console di amministrazione. Git può anche essere complicato e problematico da configurare. PowerShell Universal offre funzionalità git limitate. La sincronizzazione git ha il vantaggio di conoscere la differenza tra la configurazione corrente e quella in arrivo e può ricaricare solo le risorse che cambiano. Detto questo, spesso è complicato e soggetto a errori.

Pro

  • Configurazione condivisa nell'intero cluster

  • Interazione con git direttamente nella console di amministrazione

  • Visualizzazione della cronologia dei commit direttamente nella console di amministrazione

  • Gli aggiornamenti incrementali delle risorse limitano i tempi di inattività

Contro

  • Richiede un repository git esterno per i cluster

  • Può essere complicato da configurare

  • Le modifiche ai sistemi git esterni possono impedire la sincronizzazione di PSU

  • Gli aggiornamenti incrementali delle risorse sono complicati e soggetti a errori

  • La modifica diretta in istanze PSU condivise può essere problematica per i team di grandi dimensioni

Distribuzioni

Le distribuzioni offrono un modo per applicare pacchetti di distribuzione immutabili ai cluster PowerShell Universal. Non sono necessari sistemi esterni e i pacchetti di distribuzione sono semplicemente moduli PowerShell che possono essere archiviati nel database o, facoltativamente, in repository di risorse PowerShell esterni. Le distribuzioni non contengono alcuna cronologia dei file, né si integrano con il controllo del codice sorgente. Le distribuzioni possono essere create in PowerShell Universal o all'esterno con i cmdlet PowerShell standard.

Pro

  • Semplici da creare e distribuire con i cmdlet PowerShell standard

  • Nessun sistema esterno richiesto

  • Configurazioni immutabili semplici da distribuire per PowerShell Universal

  • Possono essere integrate con i repository di risorse PowerShell per il versionamento

Contro

  • Il controllo del codice sorgente deve essere gestito al di fuori di PSU

  • Sistemi esterni necessari per automatizzare le distribuzioni

  • La riconfigurazione può richiedere tempo poiché l'intera configurazione del server viene reimpostata

Ultimo aggiornamento

È stato utile?