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
- Copia i comandi reali che esegui in locale per lint, test e build.
- Indica dove rilasci (Vercel, AWS, un VPS, Fly.io…).
- Salva il YAML in
.github/workflows/e aggiungi i segreti in Settings → Secrets and variables. - 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.