Utilizzo delle pipeline di configurazione config-pipelines

Scopri come utilizzare le pipeline di configurazione per distribuire diverse configurazioni di AEM as a Cloud Service, ad esempio le impostazioni di inoltro del registro, le attività di manutenzione relative all’eliminazione e varie configurazioni CDN.

Panoramica overview

Una pipeline di configurazione di Cloud Manager distribuisce i file di configurazione (creati in formato YAML) in un ambiente di destinazione. È possibile configurare in questo modo diverse funzioni in AEM as a Cloud Service, tra cui l’inoltro del registro, le attività di manutenzione relative all’eliminazione e diverse funzioni CDN.

Le pipeline di configurazione possono essere distribuite tramite Cloud Manager ai tipi di ambiente di sviluppo, di staging e di produzione nei programmi di produzione (non sandbox). I file di configurazione possono essere distribuiti in ambienti di sviluppo rapido (RDE) utilizzando strumenti della riga di comando.

Nelle sezioni seguenti di questo documento viene fornita una panoramica di informazioni importanti su come utilizzare le pipeline di configurazione e su come strutturare le relative configurazioni. Descrive i concetti generali condivisi tra tutte le funzionalità o un sottoinsieme di quelle supportate dalle pipeline di configurazione.

Configurazioni supportate configurations

La tabella seguente offre un elenco completo di tali configurazioni, con collegamenti alla documentazione dedicata che descrive la sintassi di configurazione specifica e altre informazioni.

Tipo
Valore kind YAML
Descrizione
Regole filtro traffico, incluso WAF
CDN
Dichiarare le regole per bloccare il traffico dannoso
Richiedi trasformazioni
CDN
Dichiarare le regole per trasformare la forma della richiesta di traffico
Trasformazioni risposta
CDN
Dichiarare le regole per trasformare la forma della risposta per una determinata richiesta
Reindirizzamenti lato client
CDN
Dichiara reindirizzamenti lato client 301/302
Selettori origine
CDN
Dichiarare le regole per indirizzare il traffico a diversi backend, incluse le applicazioni non Adobe
Pagine errore CDN
CDN
Sostituisci la pagina di errore predefinita se non è possibile raggiungere l’origine AEM, facendo riferimento alla posizione del contenuto statico con hosting autonomo nel file di configurazione
Rimozione CDN
CDN
Dichiara le chiavi API di rimozione utilizzate per rimuovere la rete CDN
Token HTTP CDN gestito dal cliente
CDN
Dichiara il valore della chiave X-AEM-Edge necessaria per chiamare la rete CDN di Adobe da una rete CDN del cliente
Autenticazione di base
CDN
Dichiara i nomi utente e le password per una finestra di dialogo di autenticazione di base che protegge alcuni URL.
Attività di manutenzione Pulizia versione
MaintenanceTasks
Ottimizza l’archivio AEM dichiarando le regole per determinare quando le versioni dei contenuti devono essere eliminate
Attività di manutenzione eliminazione registro di controllo
MaintenanceTasks
Ottimizza il registro di audit dell’AEM per migliorare le prestazioni dichiarando regole su quando eliminare i registri
Inoltro registro
LogForwarding
Configurare gli endpoint e le credenziali per l’inoltro dei registri a varie destinazioni, tra cui Archiviazione BLOB di Azure, Datadog, HTTPS, Elasticsearch, Splunk)

Creazione e gestione delle pipeline di configurazione creating-and-managing

Per informazioni su come creare e configurare le pipeline, consulta il documento Pipeline CI/CD.

Durante la creazione di una pipeline di configurazione in Cloud Manager, assicurati di selezionare una distribuzione di destinazione anziché codice full stack durante la configurazione della pipeline.

Come indicato in precedenza, la configurazione per gli RDE viene distribuita utilizzando strumenti della riga di comando anziché una pipeline.

Sintassi comune common-syntax

Ogni file di configurazione inizia con proprietà simili al seguente snippet di esempio:

  kind: "LogForwarding"
  version: "1"
  metadata:
    envTypes: ["dev"]
Proprietà
Descrizione
Predefiniti
kind
Stringa che determina il tipo di configurazione, ad esempio inoltro registro, regole del filtro del traffico o trasformazioni richieste
Obbligatorio, nessun valore predefinito
version
Stringa che rappresenta la versione dello schema
Obbligatorio, nessun valore predefinito
envTypes
Questa matrice di stringhe è una proprietà figlio del nodo metadata. I valori possibili sono dev, stage, prod o qualsiasi combinazione e determinano per quali tipi di ambiente verrà elaborata la configurazione. Ad esempio, se l'array include solo dev, la configurazione non verrà caricata negli ambienti di staging o di produzione, anche se la configurazione è distribuita lì.
Tutti i tipi di ambiente (dev, stage, prod)

È possibile utilizzare l'utilità yq per convalidare localmente la formattazione YAML del file di configurazione (ad esempio, yq cdn.yaml).

Struttura delle cartelle folder-structure

Una cartella denominata /config o simile deve trovarsi nella parte superiore della struttura, con uno o più file YAML in una struttura al di sotto di essa.

Ad esempio:

/config
  cdn.yaml

oppure

/config
  /dev
    cdn.yaml

I nomi delle cartelle e dei file sotto /config sono arbitrari. Il file YAML, tuttavia, deve includere un valore di proprietà kind valido.

In genere, le configurazioni vengono distribuite in tutti gli ambienti. Se tutti i valori delle proprietà sono identici per ogni ambiente, è sufficiente un singolo file YAML. Tuttavia, è comune che i valori delle proprietà differiscano tra gli ambienti, ad esempio durante il test di un ambiente inferiore.

Le sezioni seguenti illustrano alcune strategie per strutturare i file.

Un singolo file di configurazione per tutti gli ambienti single-file

La struttura del file sarà simile alla seguente:

/config
  cdn.yaml
  logForwarding.yaml

Utilizza questa struttura quando la stessa configurazione è sufficiente per tutti gli ambienti e per tutti i tipi di configurazione (CDN, inoltro registro e così via). In questo scenario, la proprietà dell'array envTypes includerebbe tutti i tipi di ambiente.

   kind: "cdn"
   version: "1"
   metadata:
     envTypes: ["dev", "stage", "prod"]

Utilizzando variabili di ambiente di tipo segreto, è possibile che proprietà segrete varino in base all'ambiente, come illustrato dal riferimento a ${{SPLUNK_TOKEN}}

kind: "LogForwarding"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  splunk:
    default:
      enabled: true
      host: "splunk-host.example.com"
      token: "${{SPLUNK_TOKEN}}"
      index: "AEMaaCS"

Un File Separato Per Tipo Di Ambiente file-per-env

La struttura del file sarà simile alla seguente:

/config
  cdn-dev.yaml
  cdn-stage.yaml
  cdn-prod.yaml
  logForwarding-dev.yaml
  logForwarding-stage.yaml
  logForwarding-prod.yaml

Utilizza questa struttura quando possono esserci differenze nei valori delle proprietà. Nei file, ci si aspetta che il valore dell'array envTypes corrisponda al suffisso, ad esempio
cdn-dev.yaml e logForwarding-dev.yaml con valore di ["dev"], cdn-stage.yaml e logForwarding-stage.yaml con valore di ["stage"] e così via.

Una cartella per ambiente folder-per-env

In questa strategia, esiste una cartella config separata per ogni ambiente, con una pipeline separata dichiarata in Cloud Manager per ogni ambiente.

Questo approccio è particolarmente utile se disponi di più ambienti di sviluppo, ciascuno dei quali ha valori di proprietà univoci.

La struttura del file sarà simile alla seguente:

/config/dev1
  cdn.yaml
  logForwarding.yaml
/config/dev2
  cdn.yaml
  logForwarding.yaml
/config/prod
  cdn.yaml
  logForwarding.yaml

Una variazione di questo approccio consiste nel mantenere un ramo separato per ogni ambiente.

Variabili di ambiente segrete secret-env-vars

Per evitare che le informazioni riservate vengano archiviate nel controllo del codice sorgente, i file di configurazione supportano variabili di ambiente Cloud Manager di tipo secret. Per alcune configurazioni, incluso l’inoltro del registro, le variabili di ambiente segrete sono obbligatorie per alcune proprietà.

Lo snippet seguente è un esempio di come la variabile di ambiente segreta ${{SPLUNK_TOKEN}} viene utilizzata nella configurazione.

kind: "LogForwarding"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  splunk:
    default:
      enabled: true
      host: "splunk-host.example.com"
      token: "${{SPLUNK_TOKEN}}"
      index: "AEMaaCS"

Per informazioni dettagliate sull'utilizzo delle variabili di ambiente, vedere il documento Variabili di ambiente Cloud Manager.

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab