Pipeline CI/CD con GitHub Actions

Crea un workflow GitHub Actions per lint, test, build e rilasci per ambiente, con cache, segreti protetti e approvazione manuale in produzione. Pensato per ChatGPT, Claude e Microsoft Copilot. Include 7 variabili personalizzabili e puoi copiarlo gratuitamente con un clic.

Intermedio · Codice · In attesa di revisione editoriale

Prompt

Agisci come ingegnere DevOps specializzato in GitHub Actions e pipeline veloci e sicure.

Progetto: {{project}}.
Stack e gestore di pacchetti: {{stack}}.
Comandi attuali: lint `{{lint_cmd}}`, test `{{test_cmd}}`, build `{{build_cmd}}`.
Destinazione del rilascio: {{deploy_target}}.
Strategia di branching: {{branching}}.

Consegna, in quest'ordine:
1. Un diagramma testuale della pipeline: quali job girano sulle pull request, sui push al branch principale e sui tag di release, e quali in parallelo.
2. Il file completo `.github/workflows/ci.yml` con:
   - `concurrency` per annullare le esecuzioni obsolete.
   - Cache delle dipendenze e versioni delle action fissate (idealmente tramite SHA).
   - `permissions` con privilegi minimi per ogni job.
   - Una matrice di versioni solo dove porta valore.
   - L'artefatto di build caricato e riutilizzato dal job di rilascio.
3. Un workflow o job di rilascio che usa gli `environments` (staging e produzione), approvazione manuale per la produzione e autenticazione OIDC al posto di chiavi di lunga durata, quando il provider lo supporta.
4. L'elenco dei segreti e delle variabili necessari e dove configurarli. Non scrivere mai valori reali: usa [DA COMPLETARE].
5. Regole di protezione dei branch e controlli obbligatori consigliati.
6. Come ridurre i tempi della pipeline e come fare il rollback.

Vincoli:
- Commenta le parti non ovvie del YAML.
- Se un dettaglio del rilascio non è chiaro, chiedimelo invece di supporre.

Come usarlo

  1. Copia i comandi reali che esegui in locale per lint, test e build.
  2. Indica dove rilasci (Vercel, AWS, un VPS, Fly.io…).
  3. Salva il YAML in .github/workflows/ e aggiungi i segreti in Settings → Secrets and variables.
  4. Apri una pull request di prova per verificare la pipeline prima di attivare la protezione dei branch.

Esempio d'uso

Progetto: API Node.js con PostgreSQL · Stack: Node 22 con pnpm · Rilascio: container su AWS ECS · Branch: main più branch di funzionalità.

Esempio di risultato

1. Schema

PR ──► lint ─┐
             ├─► build (immagine Docker)
PR ──► test ─┘
push main ──► lint + test ─► build ─► deploy staging ─► [approvazione] ─► deploy produzione

2. .github/workflows/ci.yml (estratto dei job)

jobs:
  test:
    runs-on: ubuntu-latest
    permissions:
      contents: read            # privilegio minimo
    services:
      postgres:                 # database usa e getta solo per i test
        image: postgres:16
        env: { POSTGRES_PASSWORD: postgres }
        ports: ['5432:5432']
        options: --health-cmd pg_isready --health-interval 5s --health-retries 10
    steps:
      - uses: actions/checkout@v4          # fissare per SHA: [DA COMPLETARE]
      - uses: pnpm/action-setup@v4
      - uses: actions/setup-node@v4
        with: { node-version: 22, cache: pnpm }
      - run: pnpm install --frozen-lockfile
      - run: pnpm lint
      - run: pnpm test
        env:
          DATABASE_URL: postgres://postgres:postgres@localhost:5432/postgres
      - run: pnpm build
      - uses: actions/upload-artifact@v4   # riutilizzato dal job di deploy
        with: { name: dist, path: dist/ }

L'autenticazione su AWS userà OIDC (id-token: write solo nel job di deploy) con un ruolo IAM: ARN del ruolo [DA COMPLETARE], regione [DA COMPLETARE], nomi di cluster e servizio ECS [DA COMPLETARE]…

Dati chiave

Categoria
Programmazione e sviluppo · DevOps
Tipo di output
Codice
Livello
Intermedio
Pensato per
ChatGPT, Claude e Microsoft Copilot
Verificato in
In attesa di verifica editoriale
Variabili
Progetto, Stack e gestore di pacchetti, Comando di lint, Comando di test, Comando di build, Destinazione del rilascio e Strategia di branching
Lingua
Italiano
Prezzo
Gratuito, senza registrazione
Aggiornato
07/11/2026

Domande frequenti

Perché fissare le action tramite SHA?

Un tag come v4 può essere spostato su un altro codice. Fissare lo SHA ti protegge da modifiche inattese o da una action compromessa. Dependabot può mantenere aggiornati questi SHA per te.

Cos'è OIDC e perché dovrei usarlo?

Permette a GitHub di richiedere credenziali di breve durata al tuo provider cloud a ogni esecuzione, così non devi salvare chiavi di accesso permanenti tra i segreti del repository.

A cosa serve questo prompt?

Crea un workflow GitHub Actions per lint, test, build e rilasci per ambiente, con cache, segreti protetti e approvazione manuale in produzione.

Con quali strumenti di IA funziona?

È pensato per ChatGPT, Claude e Microsoft Copilot. Non lo abbiamo ancora verificato in questi strumenti, quindi i risultati possono variare da uno all'altro.

Come personalizzo il prompt?

Clicca su «Personalizza» e compila le variabili (Progetto, Stack e gestore di pacchetti, Comando di lint, Comando di test, Comando di build, Destinazione del rilascio e Strategia di branching). Il testo si aggiorna all'istante e poi puoi copiarlo con un clic. I valori vengono salvati solo nel tuo browser.

Serve esperienza per usarlo?

È di livello intermedio: conviene conoscere l'argomento per fornire un buon contesto e valutare il risultato con occhio critico.

Questo prompt è gratuito?

Sì. Tutti i prompt di HomeCasa Prompts sono gratuiti, senza registrazione né abbonamento. Puoi usarli anche in progetti professionali.

Posso fidarmi dell'output dell'IA?

Consideralo una bozza di alta qualità: verifica sempre dati, cifre e affermazioni importanti prima di pubblicare o prendere decisioni.

Prompt correlati