Avvio rapido#
Provare la demo#
Per vedere manent all'opera prima di installare qualcosa, l'immagine demo esegue in un solo container il server, l'interfaccia web, un worker e cinque host raggiunti via SSH, con qualche minuto di storico dei rilasci:
git clone https://github.com/manent-deployer/manent.git && cd manent
docker build -f demo/Dockerfile -t manent-demo .
docker run --rm -p 8080:8080 -p 9000:9000 --name manent-demo manent-demo
Apri http://localhost:8080 (la porta 9000 è l'identity provider della demo, che ti fa entrare come John Doe senza password), poi rilascia shop in produzione a ondate (un host canary, poi una region alla volta, ciascuna dietro un health gate) e prova una versione difettosa, che manent riporta indietro da solo:
docker exec -it manent-demo manent deploy -f /demo/deploys/shop-1.3.0.yml
docker exec -it manent-demo manent deploy -f /demo/deploys/shop-1.4.0.yml
docker exec -it manent-demo manent logs <id> --level warn
docker exec -it manent-demo manent inventory

La demo non ha login e tiene i dati dentro il container: non è una configurazione per ambienti reali. I passi seguenti compilano manent e lo eseguono sulla tua macchina.
Requisiti#
- Go 1.27 o successivo. Il
go.modfissa la toolchain 1.27.x: con una versione di Go più vecchia viene scaricata automaticamente (GOTOOLCHAIN=auto). - Nessun database da installare per provare manent: di default DBOS usa un file SQLite (
manent.db). In produzione serve Postgres.
Compilare#
make build # bin/manent (client) e bin/manent-server
make plugins # facoltativo: plugin esterni in bin/ (manent-plugin-remote-copy)
Primo deploy#
-
Controlla il descrittore.
validatecalcola il piano degli step e mostra il deploy effettivo, senza avviare nulla:--offlineevita di leggere la configurazione di ambiente (ad esempio da Consul). -
Avvia un worker. I deploy vengono eseguiti solo da un worker.
serveavvia l'API HTTP su:8080e un worker nello stesso processo: -
Accoda il deploy da un altro terminale con il client
manent, che di default parla con il server locale (http://127.0.0.1:8080). Il comando attende la fine del deploy e ne stampa il risultato:Il descrittore d'esempio copia l'artefatto via SSH su
192.168.1.10: adattaartifact.source,deploy.targetse i segreti al tuo ambiente, oppure usa--dry-runper vedere cosa succederebbe senza modificare i target. -
Controlla lo stato in qualsiasi momento:
Lo stesso deploy si può accodare via API, con il descrittore in JSON:
curl -X POST localhost:8080/api/v1/deployments \
-H 'Content-Type: application/json' \
-d @examples/descriptor.json
Passi successivi#
- Capisci cosa è appena successo e costruisci su questo: i tutorial, a partire da Primo deploy su un server Linux.
- Le idee alla base: Panoramica e Tipologie di deploy.
- Il formato completo del descrittore: Descrittore di deploy.
- Tutti i comandi: client
manent,manent-servere API HTTP. - Seguire un deploy:
bin/manent logs -f <id>e Osservabilità. - Portare manent in produzione: Installazione, Configurazione, Scalabilità e Recovery, arresto e retention.