Premi questo: CI/CD in WordPress è trascurato e come cambiarlo con Maciek Palmowski
Pubblicato: 2022-02-05Benvenuto in Press This, il podcast della community di WordPress di WMR. Qui l'host David Vogelpohl si siede con gli ospiti di tutta la comunità per parlare dei maggiori problemi che devono affrontare gli sviluppatori di WordPress. Quella che segue è una trascrizione della registrazione originale.
David Vogelpohl: Ciao a tutti e benvenuti su Press This, i podcast della community di WordPress su WMR. Questo è il tuo ospite, David Vogelpohl, supporto la community di WordPress attraverso il mio ruolo in WP Engine, e mi piace portare il meglio della community per farti sentire ogni settimana sulla stampa come promemoria, puoi trovarmi su Twitter @wpdavidv oppure puoi abbonarti per premere questo su iTunes, iHeartRadio, Spotify o scaricare gli ultimi episodi su wmr.fm. In questo episodio parleremo di qualcosa che trovo molto eccitante che è CI/CD e WordPress e come viene trascurato e come possiamo cambiarlo e unirci a me per quella conversazione. Qualcuno che conosce molto bene questo argomento. Unisciti a noi da buddy.works. Vorrei dare il benvenuto a Maciek Palmowski a Press this. Maciek, benvenuto.
Maciek Palmowski: Ciao, David. Grazie. Grazie per averci.
DV: Sono così felice di averti qui. Questo è un argomento che abbiamo trattato alcune volte nel corso degli anni qui alla stampa. E ovviamente il meraviglioso mondo del ghiaccio marino è in continua evoluzione e ognuno ha prospettive uniche. E non vedo l'ora di questa conversazione, quelli che ascoltano. Ciò che la magia coprirà è l'importanza di CICD, i suoi pensieri sul motivo per cui CI CD è spesso trascurato nel mondo di WordPress come gli ultimi programmatori di benedizione là fuori. E, naturalmente, alcune aste accessibili per l'adozione della pratica CI CD e WordPress. Così tante cose buone che tratteremo qui oggi e non vedo l'ora di entrare nella magia. Ti farò la stessa domanda che ho fatto a ogni ospite che probabilmente la ricordi dal tuo profilo wordpress.org. Ma potresti raccontarmi brevemente la storia della tua versione di WordPress?
MP: Perché sono WordPress. Sviluppatore PHP prima sviluppatore WordPress Leiter. Ad un certo punto della mia carriera, stavo sviluppando il mio CMS. Voglio dire, quasi ogni sviluppatore PHP ha questa fase della sua vita per creare il proprio CMS. Ad un certo punto, mi sono reso conto che è davvero difficile da mantenere, devi aggiornare tutto, devi mantenere tutto funzionante e devi fare tutto da solo. Quindi ad un certo punto, ho capito che forse forse sarebbe stato un bene cercare qualcosa che fosse stato creato da un gruppo più grande di persone, forse qualcosa di installatori. Dopo alcuni test, ho trovato WordPress. Questo è e da allora, sto lavorando con WordPress, quindi saranno già più di 10 anni.
DV: Quindi eri tu lo sai, è divertente, tutto sommato, penso di aver avuto 230 interviste strane come questa, e non so se qualcuno ha avuto quell'esatta storia di origine, ma ho molta familiarità con molti persone che, incluso il mio team e i nostri giorni in agenzia, non hanno iniziato come un'attività basata su CMS WordPress, quella nostra personalizzata e poi hanno adottato cose come WordPress, torta e Laravel. Quindi lo penso, ma è davvero interessante. In che anno hai scoperto WordPress?
MP: Oh, è stato tanto tempo fa. Penso che stavo iniziando il mio studio in 46 anni, quindi è stato davvero molto, molto tempo. fa. Come hai detto più intelligente di noi di sicuro.
DV: Va bene, va bene. Sì. Il 2010 per me, quando i tipi e i campi di post personalizzati sono stati inseriti o facevano parte del core è stato come quel momento critico in cui lo vedevo come un CMS completamente funzionante senza che tu lo sappia, pesanti modifiche.
MP: Ricordo di ricordare questo momento, è stato davvero rivoluzionario. Perché prima di questo, dovevo usare post e pagine e creare alcune, una sorta di soluzione alternativa ai tipi di post personalizzati che hanno letteralmente cambiato tutto.
DV: Sì, proprio come il tuo CMS personalizzato. Probabilmente hai avuto il tuo tipo di credito personalizzato. Quindi abbiamo avuto anche noi. Quello è stato un grande anno. E subito dopo è nata una grande azienda WP Engine per cui lavoro. Un gruppo di grandi agenzie come 10 studi di sviluppo web, ma anche cose come WooCommerce sono tempi davvero rivoluzionari e la storia di WordPress. Freddo. Beh, ho capito, ho una specie di un po' di unicità lì e quella storia delle origini è piuttosto ordinata. Quindi ho parlato prima quando nell'introduzione ho detto al loro ascolto che sai che i buddy dot funzionano. E dici a tutti lì quale amico funziona o quale amico fa quello che fai tu. Là.
MP: Quindi penso che funzioni sia l'applicazione CIC richiedente, quindi fa quasi lo stesso delle azioni GitHub, o le azioni GitLab sono tutte le altre applicazioni che aiutano ad automatizzare le tue distribuzioni. La differenza è che abbiamo un'interfaccia utente molto amichevole, quindi provi a iniziare la tua avventura avventurosa con CAC. Ad esempio, nelle azioni di GitHub, devi giocare con questo file Yamo. E quando inizi a usare body, hai un'interfaccia utente davvero bella, è solo un po 'simile per ottenere Gutenberg, crea semplicemente la tua pipeline di CD CI dai blocchi. Quindi è molto facile. E questo è stato anche il motivo per cui ho iniziato ad usarlo molti, molti anni fa. Volevo automatizzare il mio, il mio flusso di sviluppo e non dovevo farlo.
DV: Ha fatto questa cosa, ma anche prima che tu lavorassi lì, sì, certo che ero il tuo account utente. È fantastico.
MP: Sì, prima ero un utente di quanto non lo fossi. Posso dire che sono stato chiamiamolo un ambasciatore ufficiale perché ovunque lavoro, ho sempre cercato di convincere le persone che lavorano durante a cambiare corpo perché era facile da usare per tutti. Ed è stato molto bello. È stato molto bello sentire un anno fa che i ragazzi di Buddy mi hanno chiesto ehi, ti piacerebbe lavorare per noi
DV: Cosa fai alla battuta? Che lavoro fai?
MP: Lavoro in Messenger, il che significa che ho cercato di educare persone provenienti principalmente dallo spazio WordPress su CIC. Come contribuire come automatizzare i loro processi, cosa puoi fare, grazie all'automazione DevOps, perché non si tratta solo di distribuire il tuo codice dal tuo server locale o dal tuo host locale a causa di un server, ma ci sono molte cose che può fare. Nel frattempo, puoi testare il tuo codice, puoi compreremo qualcosa.
DV: Ti daremo molte opportunità per condividere quella storia. Sono solo curioso prima di entrare nei dettagli di CI CD, presumo che Betty abbia cose che aiutano WordPress, ci CD, ad adattarsi più facilmente. È vero? Roba specifica per WordPress o è più generalizzata e va bene anche per WordPress
MP: Innanzitutto, abbiamo così tante azioni che molte di esse possono essere utilizzate in modo molto semplice insieme a WordPress, ad esempio, tutto ciò che riguarda il compositore NPM. Quindi quelli sono un po 'generali, ma quasi tutti gli sviluppatori nello spazio di WordPress usano, ma stiamo anche lavorando ad alcune azioni specifiche, ad esempio, in questo momento stiamo preparando l'ambiente per il test unitario di WordPress. Probabilmente estenderemo anche lo sniffer di codice PHP per avere gli standard WordPress WordPress integrati nelle nostre azioni, quindi pensa a cose come questa e cerchiamo sempre di disegnare per aggiungere qualcosa di nuovo. Quindi, se qualcuno vorrebbe avere una nuova azione, sarebbe un'ottima cosa contattarci perché quando abbiamo sempre più voci sulla necessità di un'azione, c'è una maggiore possibilità che creeremo semplicemente e, in caso contrario, è molto facile da fare da soli. C'è sempre la possibilità di configurare qualsiasi azione nel modo
DV: sai che ci sono così tanti team che hai creato che standard di codifica PHP e WordPress, mashup. Non è mai stato così bello sentire che stai lavorando a qualcosa in cui le persone possono prenderlo e andarsene. Bene, entriamo in più dettagli sulla roba del CD CI dal livello super alto perché qui eravamo abbastanza informati, ma potresti fare per quelli che potrebbero non essere molto familiari su come la gente capisca cos'è un CD CI.
MP: Sì, quindi prima di tutto, come sappiamo CI, la parte CD di CI CD non ha nulla a che fare con le aziende che dicono di sì, ma CI CD sta per due cose. Quel CI è integrazione continua. E significa che ogni volta che cambiamo delle cose nel nostro codice, dovremmo eseguire tutti i test che hanno così ogni piccola modifica dovrebbe essere sempre sicura che il nostro codice funzioni costantemente. Quindi questa è la parte CI. E poi abbiamo la parte CB e questo significa due cose perché può significare sia uno sviluppo continuo che un'implementazione continua. lo sviluppo continuo significa che ogni volta che abbiamo la nostra versione costruita pronta per la spedizione, una persona responsabile del rilascio deve semplicemente premere il pulsante del presidente per attivarla. E continuano poiché la distribuzione significa che tutto è automatico. Quindi, ogni volta che qualcuno spinge, spinge il cambiamento, lo fa e viene automaticamente distribuito alla produzione.
DV: Penso che sia la parte in cui quando le persone iniziano a pensare di adottare CI CD, immaginano tutti i mal di testa che possono evitare avendo questi controlli automatizzati nei loro flussi di lavoro, e penso che sia quello che sai, attrae molte persone ad esso. Sono curioso però, un po' i tuoi pensieri sull'idea di usare CIC e i tuoi flussi di lavoro e un po' perché preoccuparsi o quali sono i vantaggi, ma voglio che tu lo esplori dopo la nostra prossima pausa dopo dopo questa pausa. È ora di inserirsi in un'interruzione pubblicitaria. Restate sintonizzati per più stampa questo in un momento. Ciao a tutti. Bentornato a premere questo podcast della community di WordPress su W EMR. Questo è il tuo ospite David Vogel Paul, e avrà un'intervista con la magia Lebowski ha offski Buddy lavora in giro per vedere la magia di ICD e WordPress subito prima della pausa che stavi condividendo un po' su cosa fosse CI CD. Era una spiegazione molto succinta. Grazie per questo. Quindi, ovviamente, il CD di CI è forse un lavoro extra. Sicuramente immagino sia un lavoro extra in termini di impostazione dei flussi di lavoro e forse anche di lavoro con i flussi di lavoro in qualche modo. E so che molte persone possono WordPress e immagino che anche oltre l'amore per la codifica di cowboy o cowgirl, l'ho chiamata codifica wild list prima. Ma quali pensi che siano i vantaggi di CI CD? Ad esempio, perché disturbare quel po 'di lavoro in più lì?
MP : Per me, si trattava sempre di essere sicuro che il mio piccolo cambiamento in una parte del codice durante l'interruzione fosse una parte del conteggio che non so nemmeno perché è stato fatto da qualcun altro del mio team. Come all'altra estremità del nostro script della nostra applicazione. E questo è qualcosa che accade costantemente, specialmente quando creiamo applicazioni in team più grandi. Non conosciamo l'intero codice e può davvero succedere che la nostra piccola modifica possa rompere qualcos'altro e grazie alla presenza di fabbrica così facendo alcuni test, possiamo essere sicuri che non accadrà o almeno accadrà. Non così spesso come se non avessi quei test. L'unico problema con il test è che molti sviluppatori sanno che dovremmo testare il nostro codice. C'è sempre il problema principalmente con i gestori con i proprietari di società. E il famoso detto non abbiamo tempo per creare test, il che ovviamente è sbagliato perché ogni volta che sento dire che non ho tempo per creare test. Dopo due settimane. Probabilmente andremo a riparare qualcosa che è mancato per mancanza di test. Che stiamo perdendo tempo a sistemare le cose che possiamo evitare solo trascorrendo un'ora o due prima.

DV: Quindi è un po' come muoversi lentamente per andare veloce. Sì, ti ci vuole un po' di tempo in più ma risparmierai molto più tempo dopo. Non dover combattere gli incendi e rilassarsi è la reazione esatta.
MP: Inoltre, è molto più facile pianificare i test di scrittura perché hai il pieno controllo su di te. Devi solo aggiungere quelle due o tre ore per creare test come parte della creazione del tuo prodotto o della tua applicazione, qualunque cosa e non nel mezzo di qualcos'altro. E scrivendo soluzioni rapide su soluzioni rapide implementate nel cuore della notte e cose del genere, allora è sempre meglio fare qualcosa quando il mondo intero intorno brucia, giusto?
DV: Sì, quell'equilibrio tra lavoro e vita privata, la qualità del lavoro e il vento durante una crisi del genere. Questi sono tutti punti positivi. Mi ricorda anche quella canzone, sai, o è come 99 o qualsiasi piccolo bug nel codice 99 piccole borse, come circa 107 dollari nel caso in cui quella canzone potrebbe essere veloce, ma la realtà è se tu non hai il test, non sei a conoscenza dei bug nel codice fino a quando qualcuno dall'esterno non inizia a urlare per un problema se non l'hai preso e stai dicendo Sì,
MP: esattamente senza il test, il sole sarebbe molto lungo c'è un numero indefinito di bug nel codice. Questo è questo è il problema.
DV: C'è un'altra canzone per bambini. È una canzone che non finisce mai. E forse forse questa è la versione per l'NCIC. Va bene, bello. Bene, le nostre analogie con le canzoni dietro a questo e possiamo scavare un po' più a fondo qui. Che aspetto avete tu o lo stack CAC della tua squadra al di fuori di Buddy, come avete detto? Presumo, ma usa il proprio stack all'interno del flusso. Ma quali altri strumenti ritieni importanti, e in particolare, per WordPress CAC.
MP: Forse per il mio esempio, perché al di fuori del corpo sto anche lavorando costantemente alla mia lettera di servizi web. E, naturalmente, sto usando il corpo per avere tutto aggiornato. In questo caso sto usando Baddeck, ad esempio, per rendere statico il mio sito Web per convertirlo in statico utilizzando il plug-in statico di WP. Lo uso anche per rilasciare uno o due plugin su GitHub perché sono un grande fan degli aggiornamenti. Quindi, ci sono così tanti modi in cui possiamo usarlo. Come ho detto, non solo per, per distribuire roba.
DV: Voglio dire, come prima, sottolineo per essere esempi come lo Snipper di stabilità PHP e la qualità del codice di WordPress come queste sono cose che mi spiccano è come, sai, gli elementi principali in uno stack CAC di WordPress. Sono solo curioso, tipo, ce ne sono altri chiave a cui puoi pensare disinvolto?
MP: Voglio dire, nella maggior parte dei casi, chiamiamola classici, perché phpcs è un'unità PHP per i test unitari. Sono anche un grande fan di Cypress IO per i test end-to-end. Quindi sì, quelli sono Oh, e ovviamente, mi piace anche e questo è integrato nel corpo abbiamo qualcosa chiamato test visivo. Quindi confronta semplicemente lo schermo prima e dopo la distribuzione per vedere se abbiamo rotto qualcosa?
DV: Ci sono anche test unitari di WordPress proprio che Jas principale del WordPress Core Team, qualcosa del genere.
MP: Sì, quindi, nella maggior parte dei casi, preferisco usare WP mock di 10 in su. Ma sì, a volte li uso, quei due core unit test e voglio dire, a volte sono fastidiosi. non so come impostare. Ad esempio, sul mio computer su Windows, ho sempre problemi.
DV: Quindi, come dici tu, a volte dice che significa, dal lato dei test unitari, significa che stai preferendo scrivere i tuoi test unitari? direi di sì. Ma sono solo curioso.
MP: Nella maggior parte dei casi, alcuni come sto usando WP mock perché non richiedono la connessione al database e gli unit test non dovrebbero avere una connessione a quei WordPress in quanto una grande farmacia, in questo caso sono più spesso test di integrazione. Prenota Sì, WP mock. Consentitemi di concentrarmi su ciò che devo controllare nel mio plug-in e non preoccuparmi di creare l'intero ambiente per i test. Quindi è molto più facile. A volte uso anche l'altro script chiamato Brain monkey è un po' simile. Quindi, nel complesso, preferisco l'approccio non database quando si tratta di utilizzare unit test.
DV: È davvero interessante da ascoltare. Quando ti poniamo una sorta di domanda secondaria su questo, hai in qualche modo menzionato come hai scoperto WordPress lungo la strada. Hai sempre utilizzato le ricerche CAC quando hai creato applicazioni WordPress o hai iniziato con la codifica da cowboy e hai visto ICD?
MP: Ovviamente ho iniziato con il codice da cowboy. Lo farò No no posso dire più intelligenti più puri di linea, sì, stiamo spingendo tutto tramite FTP e poi chiedendoci quale file non l'ha caricato. Sì. Sì. Quindi ho iniziato così, penso come tutti, come aprire un file in Blocco note cercando di sistemare qualcosa quasi sul server, solo per scoprire dopo un momento che per qualche motivo il file non lo ha caricato e poi Chiudo la finestra e il file è sparito. Quindi sì, ci sono stati molti, molti casi come questo, ma ad un certo punto ho imparato che prima di tutto è molto meglio sviluppare sul proprio host locale e poi passare alla produzione e poiché gli sviluppatori sono persone pigre, siamo onesti e da questa pigrizia nascono molte scoperte interessanti. Così ho iniziato a imparare come automatizzare alcuni processi. Ad esempio, come aiutarti a tornare a questo con il buon come distribuirlo sul server senza doversi preoccupare di non usare FileZilla o qualcosa del genere. Pensa alla fine Sì, mi sono trovato entro la fine ed eccomi qui,
DV: Ecco qua. Questo sta entrando davvero nel nostro genere del nostro prossimo argomento in giro come l'adozione, il flusso e il processo un po', ma è interessante sentire le tue motivazioni lì. Direi che penso che molte persone siano pigre. E penso che l'efficienza sia una grande attrazione, ma dobbiamo ripagarla in seguito con i problemi, il tuo tempo e la tua energia in una crisi. Sai che la pigrizia torna a morderti se non stai attento. Quindi penso che questo sia molto, molto attuale. Faremo la nostra ultima pausa e torneremo subito. È ora di inserirsi in un'interruzione pubblicitaria. Restate sintonizzati per più stampa questo in un momento. Tutti bentornati a premere questo. Stiamo parlando dell'importanza di CI CD in WordPress e di come possiamo ottenere più adozione lì e più sicurezza, immagino, poiché le persone stanno spingendo il loro codice in tempo reale. Proprio prima della pausa. Magic stava parlando un po' della sua storia con l'adozione di CAC e il nuking di file e la masterizzazione di applicazioni fino a terra, immagino con le versioni negative di funzionalità, come quel genere di cose. Certamente, ci sono stato, giusto, possiamo immaginare. Quindi lascia che ti ponga questa domanda. Come hai accennato prima che pensi che la pigrizia sia il motivo per cui, sai, forse le persone non adottano CI CD. Pensi, voglio dire, ovviamente c'è un vettore per alcuni nel mondo di WordPress. Pensi che sia anche correlato alla natura tecnica di esso come cosa pensi perché pensi che C ICD sia spesso trascurato in WordPress?
MP: Prima di tutto, il primo problema più grande quando si tratta di CIC è iniziare la tua avventura che dice che devi prima imparare qualcosa sul controllo della versione? Perché senza la conoscenza di Git, non puoi usare gli occhi. E quando parlo durante diversi WordCamp con alcune persone durante tutti quei discorsi nel corridoio, Victoire ha un governo guidato perché ora non stiamo principalmente cercando lo zoom. Ho appreso che ci sono moltissimi sviluppatori che ancora non utilizzano alcun controllo di versione proprio in questo modo. non so perché. Voglio dire, la maggior parte di loro lo dice. l'uso di Git ha reso tutto più lento per loro. L'intero processo di sviluppo è diventato più difficile e cose del genere. E sinceramente non lo capisco. Ma questo è qualcosa di interessante. Questo è il primo passo in cui non solo noi come organismo, ma penso che qualsiasi azienda correlata a CSV dovrebbe iniziare a educare le persone sul perché dovrebbero usare la versione perché senza questa, vogliono fare il passo successivo nell'automazione. E quando loro, quando inizieranno a usarlo, penso che C ICD diventerà qualcosa di naturale, soprattutto ora che stiamo avendo flussi di sviluppo sempre più complicati, giusto, perché ora non solo spingiamo i nostri file da una macchina locale al server , in molti casi, dobbiamo costruire il nostro CSS da CSS. Dobbiamo comprimere il nostro JavaScript, dobbiamo comprimere le nostre immagini, a volte quando si tratta di instradamento di app senza testa dobbiamo creare l'intera applicazione. Quindi ci sono molte cose che devono accadere prima di portare il nostro codice in produzione. Quindi è davvero da ricordare che a volte, molti anni fa, ho appena aperto il blocco note, ho scritto il codice e lo ho messo in produzione. Questo era tutto e ora è più difficile
DV: Sì. Penso che sia un punto davvero profondo. di pensare al percorso di adozione e alle fasi e come il controllo della versione sia, sai, una prima fase critica più accessibile della totalità di ciò che dovresti padroneggiare per adottare CI CD. Nei nostri ultimi due minuti o all'ultimo minuto qui, suppongo. Hai altre risorse da condividere con chi sta ascoltando sta pensando di adottare CI CD?
MP: Penso che ingannerò un uomo. Prima di tutto, dopo questa persona ho imparato ovviamente il controllo della versione, perché come ho detto, queste sono le basi, senza le quali c'è qualche possibilità di andare oltre. Vorrei solo provare a usare body perché proprio così a causa di questa interfaccia grafica. È molto facile. È molto intuitivo iniziare, anche con tentativi ed errori. Ma è molto facile. E so come ho fatto e provare davvero a giocare con Buddy mi ha aiutato a capire l'intero contatore CIC, proprio come posso vedere essere potente. Sì, aiuta davvero. Aiuta davvero molto e quando qualcuno capirà le basi. Il prossimo passo è conoscere tutti quegli unit test sui diversi modi di distribuire il codice perché ci sono molti modi in cui possiamo farlo. E non intendo usare protocolli diversi perché non dobbiamo usare FTP o SFTP Windows arcing all'interno del nostro, possiamo, ad esempio, accedere a un server e scaricarlo da Git o in qualsiasi altro modo lì. ci sono tanti modi per farlo. Ma prima, prova ad imparare le basi e vedi quanto può essere facile. E poi la parte successiva che l'intero test può portare, arriverà passo dopo passo. La cosa peggiore
DV: Ho scoperto che la cosa a cui hai fatto riferimento in precedenza da tunap con come gli unit test pre fatti e poter apprezzare il riff su che è anche una specie di bel ponte. Sarebbe utile per molte altre persone. Ma tutto questo è stato fantastico, davvero molto interessante. E penso, sai, di conoscere sicuramente la mia parte, e forse anche me stesso che a volte ho spinto la tua produzione a Calgary a ottenere la tua copertina, ok, comunque, quindi ho dovuto scavare un po' più a fondo qui su alcuni di questi punti. Ma quando GQ è stato fantastico, è bello averti nello show oggi.
MP: Grazie Davide. È stato davvero fantastico condividere alcuni pensieri su CI CD e spero davvero che sempre più persone ci proveranno.
DV: Eccellente. Cosa ti piace per saperne di più su cosa sta facendo la magia o per dare un'occhiata al tuo viaggio su CI/CD puoi visitare buddy.works. Grazie a tutti per aver ascoltato la stampa di questo podcast della community di WordPress su WMR. Questo è stato il tuo ospite David Vogelpohl. Supporto la community di WordPress attraverso il mio ruolo in WP Engine. E adoro portare il meglio della community qui ogni settimana su Press This.