0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Lezione

Gestione centralizzata dei workflow

Scopra i metodi per centralizzare e standardizzare i workflow di GitHub Actions nei repository di un’organizzazione.

Gestione centralizzata dei workflow è una lezione CI/CD with GitHub Actions & DevOps Pipelines gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento CI/CD with GitHub Actions & DevOps Pipelines, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso CI/CD with GitHub Actions & DevOps Pipelines include 4 lezioni in totale.

Centralizzazione della CI/CD

Benvenuto nella gestione centralizzata dei workflow! Nelle organizzazioni di grandi dimensioni, la gestione delle pipeline CI/CD tra molti progetti può diventare complessa.

Questa lezione illustra come standardizzare e centralizzare i workflow di GitHub Actions, migliorando coerenza, efficienza e sicurezza nell'intero ecosistema di sviluppo.

Perché centralizzare? Le difficoltà

Immagini che ogni team crei il proprio workflow CI/CD personalizzato. Questo porta spesso a:

  • Duplicazione: i team riscrivono più volte una logica simile.
  • Incoerenza: emergono standard e pratiche differenti.
  • Problemi di manutenzione: aggiornare uno strumento condiviso o una pratica di sicurezza richiede modifiche in molti punti.
  • Rischi per la sicurezza: è più difficile assicurarsi che tutte le pipeline seguano le migliori pratiche di sicurezza.

Workflow riutilizzabili: lo strumento principale

Uno degli strumenti più potenti per la centralizzazione sono i workflow riutilizzabili. Consentono di definire un insieme di job o passaggi in un repository centrale e di richiamarli da qualsiasi altro repository dell'organizzazione.

In questo modo, la logica comune di compilazione, test o distribuzione risiede in un unico punto, facilitandone la gestione e l'aggiornamento.

Esempio: chiamata di un workflow riutilizzabile

Ecco come un repository di progetto (il «chiamante») può utilizzare un workflow riutilizzabile definito in un repository centrale (ad esempio, octo-org/central-workflows).

La parola chiave uses indica il workflow centrale, mentre with passa gli input personalizzati.

name: Client App CI

on:
  push:
    branches:
      - main

jobs:
  call-build-and-test:
    # Calls a workflow from a central 'octo-org' repository
    uses: octo-org/central-workflows/.github/workflows/build-and-test.yml@main
    with:
      node-version: '18'
    secrets: inherit # Pass all caller's secrets to the reusable workflow

Secret e variabili a livello di organizzazione

Oltre ai workflow riutilizzabili, GitHub consente anche di definire secret e variabili a livello di organizzazione.

Sono fondamentali per archiviare dati sensibili, come le chiavi API, o valori di configurazione comuni, come le destinazioni di distribuzione, che potrebbero essere necessari a molti repository dell'organizzazione.

Accesso ai secret dell'organizzazione

Una volta configurato un secret dell'organizzazione, qualsiasi workflow in un repository autorizzato può utilizzarlo proprio come un secret a livello di repository. In questo modo i dati sensibili vengono gestiti in modo centralizzato e sicuro.

Ricordi: i secret non vengono mai esposti nei log.

name: Deploy App

on:
  workflow_dispatch:

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Use Org Deployment Key
        # Accesses an organization-level secret
        run: echo "Attempting deployment with key: ${{ secrets.ORG_DEPLOY_KEY }}"

Workflow iniziali per garantire la coerenza

Per guidare gli sviluppatori e assicurarsi che i nuovi progetti rispettino gli standard fin dal primo giorno, le organizzazioni possono fornire workflow iniziali.

Si tratta di modelli di workflow predefiniti che vengono visualizzati tra le opzioni quando si crea un nuovo file di workflow in un repository. Costituiscono un utile punto di partenza e applicano le migliori pratiche senza interventi manuali.

Applicazione degli standard con GitHub

Per un controllo ancora più rigoroso, GitHub offre funzionalità come i Repository Rulesets (per GitHub Enterprise Cloud) o le GitHub Apps personalizzate.

È possibile configurarli per applicare specifiche convenzioni di denominazione dei workflow, assicurarsi che determinati job siano sempre presenti o persino analizzare i file di workflow per verificarne la conformità, garantendo una postura CI/CD coerente e sicura in tutta l'organizzazione.

Perché la gestione centralizzata è importante

L'implementazione della gestione centralizzata dei workflow offre vantaggi significativi a un'organizzazione:

  • Coerenza: tutti i team seguono pratiche CI/CD uniformi.
  • Efficienza: si riducono le attività duplicate e si velocizza la configurazione dei progetti.
  • Sicurezza: è più facile applicare e aggiornare le migliori pratiche di sicurezza.
  • Manutenibilità: gli aggiornamenti alla logica condivisa vengono effettuati in un unico punto centrale.
  • Inserimento dei nuovi membri: i nuovi team possono iniziare rapidamente usando modelli approvati.

Verifichi la Sua comprensione

Quali tra i seguenti sono i principali vantaggi della centralizzazione dei workflow di GitHub Actions all'interno di un'organizzazione?

Riepilogo della lezione

In questa lezione abbiamo esplorato l'importanza della gestione centralizzata dei workflow in GitHub Actions per le organizzazioni. Abbiamo visto come i workflow riutilizzabili, i secret/variabili a livello di organizzazione e i workflow iniziali contribuiscano a mantenere la coerenza, migliorare l'efficienza e rafforzare la sicurezza nei repository dell'organizzazione.

Centralizzando la CI/CD, si semplificano le operazioni e ci si assicura che tutti i team rispettino le migliori pratiche.

Domande Frequenti

La lezione «Gestione centralizzata dei workflow» è gratuita?

Sì — il testo completo di «Gestione centralizzata dei workflow» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso CI/CD with GitHub Actions & DevOps Pipelines, passa a CoddyKit PRO. Il corso CI/CD with GitHub Actions & DevOps Pipelines include 4 lezioni in totale.

Cosa imparerò in «Gestione centralizzata dei workflow»?

Scopra i metodi per centralizzare e standardizzare i workflow di GitHub Actions nei repository di un’organizzazione. Eserciti CI/CD with GitHub Actions & DevOps Pipelines con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare CI/CD with GitHub Actions & DevOps Pipelines?

Non è richiesta alcuna esperienza precedente. CI/CD with GitHub Actions & DevOps Pipelines su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Gestione centralizzata dei workflow»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione CI/CD with GitHub Actions & DevOps Pipelines?

Sì. Ogni lezione CI/CD with GitHub Actions & DevOps Pipelines include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. CI/CD per monorepo
  2. Workflow tra repository
  3. Gestione centralizzata dei workflow
  4. Filtri sui percorsi e build selettive
← Torna a CI/CD with GitHub Actions & DevOps Pipelines