La scorsa settimana, Konstantin Kovshenin ha lanciato Navigare, uno strumento CLI per la distribuzione di applicazioni WordPress nel cloud DigitalOcean. Il progetto è gratuito e open source. Tuttavia, ha in programma un’esperienza premium aggiornata lungo la strada.
Kovshenin ha citato la velocità e l’efficienza come i due motivi principali per cui gli sviluppatori dovrebbero provare il suo nuovo strumento. “Non è necessario girovagare tra le interfacce utente web per avviare un nuovo server e installare WordPress. Hai appena sail init
. Non è necessario aprire il client della GUI SFTP per caricare le modifiche nell’applicazione. Hai appena sail deploy
.”
Ha anche affermato che poiché è una semplice CLI, si integrerà bene con gli strumenti e i servizi di sviluppo esistenti come Gulp, webpack, GitHub Actions e altro.
“Sono un tipo fai-da-te quando si tratta di hosting WordPress, quindi mi piace sporcarmi le mani con server, codice, configurazione e tutto il resto”, ha scritto Kovshenin nel post di annuncio. “Utilizzo i server virtuali di DigitalOcean per piccoli progetti WordPress da molto tempo, ed è fantastico e anche molto conveniente.”
Era diventato infastidito dalla manutenzione ordinaria e dalla configurazione dei server per nuovi progetti. Questo lo ha portato a scrivere molti script per gestire ogni pezzo di questo nel corso degli anni. Negli ultimi due mesi, li ha ripuliti e confezionati come un unico strumento CLI chiamato Sail. Funziona su Linux, macOS e Windows.
Mentre elenca alcuni vantaggi dell’utilizzo di Sail rispetto alla concorrenza nel post dell’annuncio, pensa che i vantaggi derivino dall’utilizzo di Sail con altri strumenti di sviluppo.
“Ad esempio, se utilizzi già Git e GitHub, Sail può distribuire automaticamente la tua applicazione ogni volta che esegui il push sul ramo principale”, ha affermato. “Se il tuo progetto è stato creato con Gulp e webpack, puoi chiedere a npm di distribuire la tua applicazione dopo una compilazione riuscita.”
Lo strumento CLI non fa ipotesi sull’ambiente di sviluppo. Gli sviluppatori sono liberi di utilizzare qualsiasi configurazione a cui sono abituati, come Vagrant/VirtualBox, XAMP/MAMP, Local, Docker o una configurazione personalizzata.
“Puoi utilizzarlo senza un ambiente di sviluppo locale e limitarti a scrivere codice da cowboy, e Sail ti aiuterà a distribuire con fiducia e tornare indietro quando sei eccessivamente sicuro”, ha detto.
Quello che segue è un breve video dimostrativo:
Il futuro della vela
Per il breve termine, Sail funziona solo con DigitalOcean. Tuttavia, Kovshenin prevede di supportare più fornitori lungo la strada mentre esamina “architetture più complesse”. Tuttavia, ha affermato che al momento non è una priorità.
“DigitalOcean ha la migliore documentazione, senza dubbio”, ha affermato. “La semplicità delle loro API ti lascia senza fiato. E quella semplicità si estende anche ai loro prezzi, il che l’ha resa una scelta abbastanza ovvia”.
Mentre lo strumento è gratuito, offrirà un servizio Sail Premium. Al momento non esiste una data di lancio per questo. Kovshenin ha detto che stava valutando l’interesse generale prima di immergersi. Tuttavia, ha un modulo di registrazione per l’accesso anticipato. Chi lo utilizzerà otterrà pass gratuiti durante il periodo beta ed eventualmente uno sconto al lancio.
In questo momento, il suo obiettivo è costruire le funzionalità principali di Sail, che secondo lui saranno sempre gratuite.
“La più grande novità di cui sono entusiasta in questo momento è Blueprints”, ha affermato Kovshenin. “Questo sarà un file manifest YAML, che descriverà l’ambiente e lo stato dell’applicazione desiderati, inclusi i plug-in di WordPress da installare e attivare, quali temi e impostazioni, nonché qualsiasi software e configurazione del server aggiuntivo, come posta, firewall , ecc. E per ottenere tutto questo dovrai solo specificare il file blueprint su sail init
.”
L’obiettivo è consentire agli utenti di creare, riutilizzare e persino condividere i propri progetti. Sail stesso renderà disponibili anche le configurazioni comuni. Un singolo progetto potrebbe includere WooCommerce, Stripe, Storefront, Jetpack, memorizzazione nella cache degli oggetti Redis, inoltro della posta tramite MailGun e altro ancora.
“Altre funzionalità nell’elenco includono sottoprogetti, staging/clonazione, backup automatici e remoti, profilazione, monitoraggio e scansione di malware/vulnerabilità”, ha affermato Kovshenin.
Spera in ulteriori feedback sulle funzionalità mancanti che potrebbero rendere il progetto più utile per gli altri.