Cos'è Deployo
Deployo è una piattaforma AI-native DevSecOps che automatizza l'intero ciclo di vita dello sviluppo software: dalla generazione del codice al deploy in produzione, passando per test, security review, CI/CD e governance.
A differenza delle piattaforme tradizionali dove l'AI è un add-on, Deployo è costruito intorno all'AI: ogni fase del processo è assistita da agenti AI specializzati.
Cosa automatizza
| Fase | Cosa fa |
| Code Generation | Genera codice a partire da una descrizione in linguaggio naturale |
| Test Generation | Crea test unitari e di integrazione per il codice generato |
| Security Review | Analizza il codice per vulnerabilità (OWASP Top 10, CWE) |
| Pull Request | Crea branch, committa i file e apre PR su GitHub automaticamente |
| CI/CD Pipeline | Esegue build, lint, test in container Docker isolati |
| Security Scan | Scansioni SAST/DAST/SCA con tracciamento dei finding |
| Gate Check | Blocca il deploy se ci sono vulnerabilità critiche o la pipeline fallisce |
| Deployment | Deploy con 4 strategie: Rolling, Blue/Green, Canary, Recreate |
| Documentation | Genera documentazione tecnica automatica |
| Governance | Produce report di conformità e audit trail |
Vantaggi principali
- Ciclo completo in un click: dall'idea al deploy con una sola orchestration
- Security-first: ogni modifica passa per review AI + scansione automatica + quality gate
- Multi-tenancy: organizzazioni, progetti, ruoli e permessi separati
- Trasparenza: log live del server, step-by-step visibile, download degli artifacts
- Flessibilità: ogni step dell'orchestration è opzionale e configurabile
- Self-hosted: gira su un singolo server con Docker Compose
Stack tecnico
- Frontend: Next.js 14, React 18, TypeScript, Tailwind CSS, Zustand
- Backend: Spring Boot 4.0.3, Java 17, 9 moduli Maven
- Database: PostgreSQL 16 (dati), Redis 7 (cache/sessioni)
- AI: tramite 6 agenti specializzati
- Deploy: Docker Compose con volumi condivisi
Installazione e Avvio
URL di accesso
- Frontend: http://< tuo-sito>
- Backend API: http://< tuo-sito>:8080
- Swagger/OpenAPI: http://< tuo-sito>:8080/swagger-ui.html
Requisiti server che puoi scegliere in fase di richiesta DEMO
| Risorsa | Minimo | Produzione |
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 GB | 8 GB |
| Disco | 30 GB SSD | 50–100 GB SSD |
| OS | Ubuntu 22.04+ | Ubuntu 22.04 LTS |
Promuovere il primo admin
Se nessun utente è admin (prima installazione), usa il database direttamente:
docker exec -it deployo-postgres psql -U deployo -d deployo_db
UPDATE users SET platform_role = 'PLATFORM_ADMIN' WHERE email = '
[email protected]';
AI Workspace
L'AI Workspace è il cuore della piattaforma: un ambiente dove interagisci con agenti AI specializzati per generare codice, test, review e documentazione.
Come iniziare
1
Vai su AI Workspace nella sidebar del progetto.
2
Clicca New Session e scegli il tipo di agente.
3
Scrivi il tuo messaggio e premi invio. L'AI risponde con testo e code artifacts.
Agenti disponibili
| Agente | Cosa fa |
| CODING | Genera codice sorgente da una descrizione |
| TEST | Scrive test per il codice esistente |
| SECURITY | Analizza codice per vulnerabilità |
| DOCUMENTATION | Genera documentazione tecnica |
| DEPLOY | Consiglia strategie di deployment |
| GOVERNANCE | Produce report di conformità |
Esempio: generare un REST API
Crea un REST API in Java Spring Boot per gestire prodotti
con CRUD completo: entity Product con nome, prezzo,
descrizione e categoria. Includi validazione, pagination
e error handling.
L'AI genererà: Product.java, ProductRepository.java, ProductService.java, ProductController.java, ProductDto.java.
Gestire i file generati
- I code artifacts appaiono sotto ogni risposta dell'AI
- Puoi visualizzare, modificare e scaricare ogni file
- Usa Export to Workspace per salvare i file nel workspace del progetto
- Usa Download ZIP per scaricare tutti gli artifacts della sessione
Upload di file esistenti
Nella sezione Workspace > Files, clicca Upload per file singoli o Upload ZIP per un progetto intero. I file caricati diventano contesto per l'AI nelle sessioni successive.
Pipeline CI/CD
Le pipeline eseguono build, test e analisi del codice in container Docker isolati, con supporto per trigger automatici via webhook GitHub.
Creare una pipeline
1
Vai su Pipelines nella sidebar del progetto.
2
Clicca New Pipeline e compila: nome, trigger (MANUAL, PUSH, PULL_REQUEST) e config YAML.
Esempio: pipeline Java Spring Boot
stages:
- name: Build
image: maven:3.9-eclipse-temurin-17
commands:
- mvn clean compile -q
- name: Test
image: maven:3.9-eclipse-temurin-17
commands:
- mvn test
- name: Package
image: maven:3.9-eclipse-temurin-17
commands:
- mvn package -DskipTests
artifacts:
- target/*.jar
Esempio: pipeline Node.js / Next.js
stages:
- name: Install
image: node:20-alpine
commands:
- npm ci
- name: Lint
image: node:20-alpine
commands:
- npm run lint
- name: Test
image: node:20-alpine
commands:
- npm test -- --coverage
- name: Build
image: node:20-alpine
commands:
- npm run build
Pipeline automatiche via webhook
Se hai configurato il webhook GitHub con trigger PUSH, ogni push al branch configurato avvierà automaticamente la pipeline. I webhook sono protetti con HMAC-SHA256.
Per configurare il webhook su GitHub: copia l'URL mostrato in Settings, vai su GitHub > Settings > Webhooks > Add webhook, incolla l'URL, imposta content-type application/json, incolla il webhook secret e seleziona eventi Pushes e Pull requests.
Deployment
Creare un Environment
Prima di fare deploy, crea un environment in Deployments > New Environment. Compila: nome, tipo (PRODUCTION / STAGING / DEVELOPMENT), cloud provider opzionale e configurazione cluster JSON.
Strategie di deploy
| Strategia | Comportamento | Downtime |
| Recreate | Ferma tutto → Deploya nuovo → Avvia | Sì |
| Rolling | Avvia nuovo → Health check → Ferma vecchio | No |
| Blue/Green | Crea green → Test → Switch traffico → Rimuovi blue | No |
| Canary | Deploy 10% → Monitor 30s → Promuovi a 100% | No |
Esempio config cluster (Docker SSH)
{
"deployMode": "DOCKER",
"docker": {
"registry": "docker.io",
"repository": "myapp/backend",
"tag": "latest",
"dockerfilePath": "Dockerfile"
},
"ssh": {
"host": "192.168.1.100",
"port": 22,
"user": "deploy",
"authType": "key",
"deployPath": "/opt/myapp"
},
"commands": {
"pre": "echo 'Starting deploy...'",
"post": "docker compose restart"
}
}
Approvazione e Rollback
Se l'environment ha Requires Approval attivo, il deploy resta in stato AWAITING_APPROVAL finché un utente autorizzato non approva. Per il rollback, clicca Rollback su qualsiasi deployment passato nella lista.
Security
Tipi di scansione
| Tipo | Cosa analizza |
| SAST | Analisi statica del codice sorgente |
| DAST | Analisi dinamica dell'applicazione in esecuzione |
| SCA | Analisi delle dipendenze per vulnerabilità note |
| ALL | Esegue tutte le scansioni |
Gestire i findings
Ogni finding mostra: titolo, descrizione, severity (CRITICAL / HIGH / MEDIUM / LOW), file e riga del problema, riferimenti CWE/CVE e suggerimento per la correzione.
Puoi cambiare lo stato di un finding tra: OPEN, IN_PROGRESS, RESOLVED, FALSE_POSITIVE.
Gate Check
Nel flusso di orchestration, il Gate Check (step 7) verifica che non ci siano finding CRITICAL aperti e che la pipeline CI sia passata. Se il check fallisce, il deploy viene bloccato automaticamente.
Orchestration
L'orchestration è la funzionalità principale di Deployo: esegue tutti gli 11 step in automatico, dall'idea al deploy.
Avviare un'orchestration
1
Vai su Orchestration nella sidebar del progetto.
2
Clicca New Run e compila: titolo, prompt, Git Repository (opzionale), Pipeline CI (opzionale), Environment (opzionale).
3
Clicca Start Orchestration e monitora i log in tempo reale.
Gli 11 step
1. Code Generation → Genera codice con AI
2. Test Generation → Crea test automatici
3. Security Review → Review AI per vulnerabilità
4. Create PR → Crea branch e PR su GitHub
5. Pipeline CI → Esegue la pipeline CI/CD
6. Security Scan → Scansione SAST/DAST/SCA
7. Gate Check → Verifica: 0 critical + pipeline OK?
8. Deploy Strategy → AI suggerisce strategia di deploy
9. Deployment → Esegue il deploy
10. Documentation → Genera documentazione tecnica
11. Governance Report → Produce report di conformità
Gli step opzionali vengono saltati se non selezioni il selettore corrispondente. La piattaforma mostra lo stato di ogni step in tempo reale.
Esempio prompt: E-commerce API
Crea un microservizio REST per la gestione degli ordini.
Include:
- Entity Order con: id, customerId, items, total, status
- Entity OrderItem con: productId, quantity, unitPrice
- CRUD completo con validazione
- Endpoint per cambiare stato ordine
- Pagination e filtri per status
- Error handling con codici HTTP appropriati
Download artifacts
Quando un run è completato, il pulsante download produce un file .zip con tutti i code artifacts, il file orchestration.log e i file generati da tutti gli step: codice, test, documentazione.
API Reference
Tutti gli endpoint sono sotto /api/v1/. Autenticazione tramite header Authorization: Bearer <token>.
Autenticazione
# Registrazione
curl -X POST http://localhost:8080/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{"email":"
[email protected]","password":"password123","fullName":"Mario Rossi"}'
# Login → risposta con accessToken e refreshToken
curl -X POST http://localhost:8080/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"
[email protected]","password":"password123"}'
Organizzazioni e Progetti
# Crea organizzazione
curl -X POST http://localhost:8080/api/v1/organizations \
-H "Authorization: Bearer <token>" \
-d '{"name":"Acme Corp","description":"La mia azienda"}'
# Lista progetti
curl http://localhost:8080/api/v1/orgs/<orgId>/projects \
-H "Authorization: Bearer <token>"
Avvia orchestration
curl -X POST http://localhost:8080/api/v1/projects/<projectId>/orchestrations \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"title": "Add auth module",
"prompt": "Crea un sistema di autenticazione JWT completo",
"repositoryId": "<repoId>",
"pipelineId": "<pipelineId>",
"environmentId": "<envId>"
}'
Scarica artifacts
curl http://localhost:8080/api/v1/projects/<projectId>/orchestrations/<runId>/download \
-H "Authorization: Bearer <token>" -o orchestration.zip
Troubleshooting
- Backend non si avvia:
docker logs deployo-backend -f — verifica PostgreSQL e Redis healthy.
<
- Orchestration PENDING: riavvia con
docker compose restart backend.
- Pipeline fallisce subito: verifica che il Docker socket sia montato nel container backend.
- Webhook non funziona: il server deve essere raggiungibile da GitHub pubblicamente. Verifica il secret e i log:
docker logs deployo-backend 2>&1 | grep -i webhook.