Presione esto: CI/CD en WordPress se pasa por alto y cómo cambiar eso con Maciek Palmowski
Publicado: 2022-02-05Bienvenido a Press This, el podcast de la comunidad de WordPress de WMR. Aquí, el anfitrión David Vogelpohl se sienta con invitados de toda la comunidad para hablar sobre los problemas más importantes que enfrentan los desarrolladores de WordPress. La siguiente es una transcripción de la grabación original.
David Vogelpohl: Hola a todos y bienvenidos a Press This, los podcasts de la comunidad de WordPress en WMR. Este es su anfitrión, David Vogelpohl, apoyo a la comunidad de WordPress a través de mi función en WP Engine, y me encanta traer lo mejor de la comunidad para que escuche cada semana en prensa esto como un recordatorio, puede encontrarme en Twitter @wpdavidv , o puede suscribirse para presionar esto en iTunes, iHeartRadio, Spotify o descargar los últimos episodios en wmr.fm. En este episodio, vamos a hablar sobre algo que encuentro muy emocionante, que es CI/CD y WordPress, y cómo se pasa por alto y cómo podemos cambiar eso y unirme a esa conversación. Alguien que conozca muy bien este tema. Uniéndose a nosotros desde buddy.works. Me gustaría dar la bienvenida a Maciek Palmowski a Press this. Maciek, bienvenido.
Maciek Palmowski: Hola, David. Gracias. Gracias por recibirnos.
DV: Estoy muy contento de tenerte aquí. Este es un tema que hemos tratado varias veces a lo largo de los años aquí en prensa. Y, por supuesto, el maravilloso mundo del hielo marino siempre está cambiando y todos tienen perspectivas únicas. Y tengo muchas ganas de esta conversación, los que están escuchando. Lo que va a cubrir la magia es la importancia de CICD, sus pensamientos sobre por qué CI CD a menudo se pasa por alto en el mundo de WordPress como el último tiempo, bendiga a los programadores. Y, por supuesto, algunas subastas accesibles para adoptar la práctica de CD de CI y WordPress. Así que hoy vamos a cubrir muchas cosas buenas y estoy deseando saltar a la magia. Te voy a hacer la misma pregunta que le hice a cada invitado que probablemente recuerdes de tu perfil de wordpress.org. Pero, ¿podría contarme brevemente la historia de su versión de WordPress?
MP: Porque soy WordPress. Desarrollador de PHP en el primer desarrollador de WordPress Leiter. En algún momento de mi carrera, estaba desarrollando mi propio CMS. Quiero decir, casi todos los desarrolladores de PHP tienen esta fase de su vida para crear su propio CMS. En algún momento, me di cuenta de que es realmente difícil de mantener, tienes que actualizar todo, tienes que mantener todo funcionando y tienes que hacerlo todo solo. Entonces, en algún momento, me di cuenta de que tal vez sería bueno buscar algo creado por un grupo más grande de personas, tal vez algo instaladores. Después de algunas pruebas, encontré WordPress. Eso es y desde entonces, estoy trabajando con WordPress, así que ya serán más de 10 años.
DV: Entonces, ¿sabes? Es gracioso, creo que he tenido algunas entrevistas extrañas como esta, y no sé si alguien ha tenido esa historia de origen exacta, pero estoy muy familiarizado con muchas las personas que tienen, incluido mi equipo y nuestra agencia los días en que no comenzamos como un negocio basado en WordPress CMS, que nuestro propio personalizado y luego adoptamos cosas como WordPress y cake y Laravel. Eso creo, pero es muy interesante. ¿En qué año descubriste WordPress?
MP: Oh, fue hace tanto tiempo. Creo que fue cuando comencé mi estudio hace más de 46 años, así que fue mucho, mucho tiempo. atrás. Como dijiste más inteligente que nosotros seguro.
DV: Está bien, está bien. Sí. 2010 para mí, cuando los tipos de publicaciones y campos personalizados se ingresaban o formaban parte del núcleo, fue como ese momento crítico en el que lo vi como un CMS en pleno funcionamiento sin, ya sabes, una gran modificación.
MP: Recuerdo, recuerdo este momento, fue realmente revolucionario. Porque antes de esto, tuve que usar publicaciones y páginas y crear algunas soluciones alternativas de tipos de publicaciones personalizadas que literalmente cambiaron todo.
DV: Sí, al igual que su CMS personalizado. Probablemente tenía su tipo de crédito personalizado. Así que teníamos también. Ese fue un gran año. Y un gran lanzamiento, WP Engine, surgió en la empresa para la que trabajo justo después de eso. Un grupo de grandes agencias como 10 estudios de desarrollo web, pero también cosas como WooCommerce, son tiempos realmente revolucionarios e historia de WordPress. Frio. Bueno, tengo un poco de singularidad allí y esa historia de origen es bastante clara. Así que hablé antes cuando en la introducción les mencioné que sabían que Buddy Dot funciona. Y le dices a todos qué amigo que trabaja o qué amigo hace lo que haces. Allá.
MP: Entonces, creo que funciona es la aplicación CIC del solicitante, por lo que hace casi lo mismo que las acciones de GitHub, o las acciones de GitLab son todas las demás aplicaciones que ayudan a automatizar sus implementaciones. La diferencia es que tenemos una interfaz de usuario muy amigable, por lo que intentas comenzar tu aventura con CAC. En, por ejemplo, las acciones de GitHub, debe jugar con este archivo de Yamo. Y cuando comienzas a usar el cuerpo, tienes una interfaz de usuario realmente agradable, simplemente es similar a obtener Gutenberg, solo crea tu tubería de CD de CI a partir de bloques. Así que es muy fácil. Y esta fue también la razón por la que comencé a usarlo hace muchos años. Quería automatizar mi flujo de desarrollo y no tenía que hacerlo.
DV: Hizo esta cosa, pero incluso antes de que trabajaras allí, sí, por supuesto, yo era tu asunto de usuario. Eso es genial.
MP: Sí, yo era un usuario primero de lo que era. Puedo decir que fui, llamémoslo embajador oficial, porque donde sea que trabaje, siempre traté de convencer a las personas que trabajaban durante el cambio de cuerpo porque era fácil de usar para todos. Y fue muy agradable. Fue muy agradable escuchar hace un año que los muchachos de buddy me preguntaron oye, ¿te gustaría trabajar para nosotros?
DV: ¿Qué haces al bate? ¿Cuál es tu trabajo?
MP: Trabajo en Messenger, lo que significa que traté de educar a la gente, principalmente del espacio de WordPress, sobre CIC. Cómo contribuir cómo automatizar sus procesos, qué puede hacer gracias a la automatización de DevOps, porque no se trata solo de implementar su código desde su servidor local, o desde su host local debido a un servidor, pero hay muchas cosas que usted puede hacer. En el medio, puedes probar tu código, podemos comprar algo.
DV: Te daremos muchas oportunidades para compartir esa historia. Solo tengo curiosidad antes de pasar a los detalles de CI CD, supongo que Betty tiene cosas que ayudan a WordPress, ci CD, más fácil de adaptar. ¿Es eso cierto? Cosas específicas de WordPress o es más generalizado y también es bueno para WordPress
MP: En primer lugar, tenemos tantas acciones que muchas de ellas se pueden usar de una manera muy fácil junto con WordPress, por ejemplo, todo lo relacionado con composer NPM. Entonces, son un poco generales, pero casi todos los desarrolladores en el espacio de WordPress los usan, pero también estamos trabajando en algunas acciones específicas, por ejemplo, en este momento estamos preparando el entorno para las pruebas unitarias de WordPress. Probablemente también extenderemos ese rastreador de código PHP para tener los estándares de WordPress integrados en nuestras acciones, así que piense cosas como esta y siempre estamos tratando de dibujar para agregar algunas cosas nuevas. Entonces, si a alguien le gustaría tener una nueva acción, sería genial que se comunicara con nosotros porque cuando tenemos más y más voces sobre la necesidad de alguna acción, hay una mayor posibilidad de que solo creemos y, si no, es muy fácil de hacerlo usted mismo. Siempre existe la posibilidad de configurar cualquier acción de la manera
DV: sabes que hay tantos equipos que creaste que PHP y los estándares de codificación de WordPress, mashups. Nunca es tan bueno escuchar que estás trabajando en algo donde la gente puede tomarlo e irse. Muy bien, bueno, pasemos a más detalles sobre el material del CD de CI desde el nivel súper alto porque éramos un público bastante informado aquí, pero ¿podría hacer para aquellos que no estén muy familiarizados cómo la gente entiende qué es un CD de CI?
MP: Sí, en primer lugar, como sabemos, CI, CD, parte de CI CD, no tiene nada que ver con que las empresas digan que sí, pero CI CD significa dos cosas. Esa IC es integración continua. Y significa que cada vez que cambiamos cosas en nuestro código, debemos ejecutar todas las pruebas que tienen, por lo que cada pequeño cambio hace que siempre debemos estar seguros de que nuestro código funciona constantemente. Así que esta es la parte de CI. Y luego tenemos la parte CB y esto significa dos cosas porque puede significar desarrollo continuo o implementación continua. el desarrollo continuo significa que cada vez que tenemos nuestra versión construida lista para enviar, una persona responsable del lanzamiento solo tiene que presionar el botón de presidente para ponerlo en marcha. Y siguen como despliegue significa que todo es automático. Entonces, cada vez que alguien presiona el cambio, lo hace y se implementa automáticamente en producción.
DV: Creo que esa es la parte en la que, a medida que las personas comienzan a pensar en adoptar CI CD, se imaginan todos los dolores de cabeza que pueden evitar al tener estos controles automatizados en sus flujos de trabajo, y creo que eso es lo que atrae a mucha gente. lo. Tengo curiosidad, sin embargo, sobre sus pensamientos sobre la noción de usar CIC y sus flujos de trabajo y por qué molestarse o cuáles son los beneficios, pero quiero que me gustaría explorar eso después de nuestro próximo descanso después después de este descanso. Es hora de conectarse a una pausa comercial. Estén atentos para más prensa esto en solo un momento. Hola a todos. Bienvenido de nuevo a presionar este podcast de la comunidad de WordPress en W EMR. Este es su anfitrión, David Vogel Paul, y tendrá una entrevista con magic Lebowski, tendrá a Buddy fuera de esquí trabajando, verá ICD y la magia de WordPress justo antes del descanso, estaba compartiendo un poco sobre lo que era CI CD. Esa fue una explicación muy sucinta. Gracias por eso. Entonces, obviamente, CI CD es quizás un trabajo extra. Definitivamente creo que es un trabajo adicional en términos de configurar sus flujos de trabajo y tal vez incluso trabajar con sus flujos de trabajo de alguna manera. Y sé que mucha gente puede usar WordPress y supongo que incluso más allá del amor por la codificación de vaqueros o vaqueras, lo llamé codificación de lista salvaje antes. Pero, ¿cuáles cree que son los beneficios de CI CD? ¿Por qué molestarse en ese trabajo extra allí?
MP : Para mí, siempre se trató de estar seguro de que mi pequeño cambio en una parte del código en el salto es una parte del conteo que ni siquiera sé porque lo hizo otra persona de mi equipo. Como en el otro extremo de nuestro script de nuestra aplicación. Y esto es algo que sucede constantemente, especialmente cuando estamos creando aplicaciones en equipos más grandes. No conocemos el código completo, y realmente puede suceder que nuestro pequeño cambio pueda romper algo más y, gracias a tener fábrica, por lo que tenemos algunas pruebas, podemos estar seguros de que no sucederá o al menos sucederá. No tan a menudo como si no te hicieras esas pruebas. El único problema con las pruebas es que muchos desarrolladores saben que debemos probar nuestro código. Siempre existe el problema principalmente con los gerentes con los propietarios de las empresas. Y el famoso dicho de que no tenemos tiempo para crear pruebas, lo cual, por supuesto, es incorrecto porque cada vez que escucho eso, no tengo tiempo para crear pruebas. Después de dos semanas. Probablemente arreglaremos algo que se perdió debido a la falta de pruebas. Que estamos perdiendo el tiempo arreglando las cosas que podemos evitar simplemente pasando una hora o dos antes.

DV: Así que es como moverse lento para ir rápido. Sí, te lleva un poco de tiempo extra, pero vas a ahorrar mucho más tiempo más tarde. No tener que combatir incendios y relajarse siendo la reacción exacta.
MP: Además, es mucho más fácil planificar pruebas de escritura porque tienes control total sobre ti. Solo necesita agregar esas dos o tres horas para crear pruebas como parte de la creación de su producto o su aplicación, lo que sea y no en medio de hacer otra cosa. Y escribir arreglos rápidos sobre arreglos rápidos que se implementan en medio de la noche y cosas como esta, entonces siempre es mejor hacer algo cuando todo el mundo alrededor está ardiendo, ¿verdad?
DV: Sí, ese equilibrio entre la vida laboral, la calidad del trabajo y los vientos durante una crisis como esa. Esos son todos buenos puntos. También me recuerda a esa canción, ya sabes, o es como 99 o cualquier pequeño error en las bolsitas del código 99, como alrededor de 107 dólares en el caso de que esa canción sea rápida, pero la realidad es que si no tiene la prueba, no sabe acerca de los errores en el código hasta que alguien en el exterior comienza a gritar sobre un problema si no lo ha detectado y está siendo Sí,
MP: exactamente sin la prueba, el sol sería muy largo, hay una cantidad indefinida de errores en el código. Este es este es el problema.
DV: Hay otra canción infantil. Es una canción que nunca termina. Y tal vez tal vez esa es la versión para el NCIC. Está bien, genial. Bueno, nuestras analogías de canciones detrás de esto y podemos profundizar un poco más aquí. ¿Cómo se ve tu propia pila de CAC o la de tu equipo fuera de Buddy, como hablaste? Supongo, pero él usa su propia pila dentro del flujo. Pero, ¿qué otras herramientas cree que son importantes, y en particular, para WordPress CAC?
MP: Tal vez para mi ejemplo, porque fuera del cuerpo también estoy trabajando constantemente en mi carta de servicios web. Y por supuesto, estoy usando body para tener todo actualizado. En este caso, estoy usando Baddeck, por ejemplo, para hacer que mi sitio web sea estático y convertirlo en estático usando el complemento estático WP. También lo uso para publicar uno o dos complementos en GitHub porque soy un gran fanático de las actualizaciones. Entonces, hay tantas maneras en que podemos usarlo. Como dije, no solo para, para implementar cosas.
DV: Me refiero a que antes, en la parte inferior, son ejemplos de Snipper de estabilidad de PHP y la calidad del código de WordPress como esas son cosas que se destacan para mí, ya sabes, los elementos principales en una pila de CAC de WordPress. Solo tengo curiosidad, como, ¿hay alguna otra clave que se te ocurra?
MP: Quiero decir, en la mayoría de los casos miren, llamémoslos clásicos, porque phpcs es una unidad PHP para pruebas unitarias. También soy un gran admirador de Cypress IO para las pruebas de extremo a extremo. Entonces, sí, esos son Ah, y por supuesto, también me gustan y esto está integrado en el cuerpo, tenemos algo llamado Prueba visual. Entonces, solo compara la pantalla antes y después de la implementación para ver si rompimos algo.
DV: También hay pruebas unitarias de WordPress en el Jas principal del equipo principal de WordPress, algo así.
M P: Sí, quiero decir, en la mayoría de los casos, prefiero usar el simulacro de WP por 10 para arriba. Pero sí, a veces uso esas dos pruebas de unidad central y quiero decir, a veces son molestas. No sé cómo configurar. Por ejemplo, en mi computadora con Windows, siempre tengo problemas.
DV: Entonces, como usted dice, a veces dice que, en el lado de las pruebas unitarias, ¿eso significa que está a favor de escribir sus propias pruebas unitarias? Supongo que sí. Pero solo tengo curiosidad.
MP: En la mayoría de los casos, algunos como yo estoy usando WP simulado porque no requieren conexión a la base de datos y la prueba unitaria no debería tener una conexión a esos WordPress en una industria farmacéutica tan grande, en este caso son más a menudo pruebas de integración. Libro Sí, simulacro de WP. Permítanme concentrarme en lo que tengo que verificar en mi complemento y no preocuparme por crear todo el entorno para las pruebas. Entonces es mucho más fácil. A veces también uso el otro script llamado Brain monkey, es algo similar. Entonces, en general, prefiero el enfoque sin base de datos cuando se trata de usar la prueba unitaria.
DV: Eso es muy interesante de escuchar. Cuando hacemos una especie de pregunta secundaria sobre esto, mencionaste cómo descubriste WordPress en el camino. ¿Siempre usaste CAC recherches cuando creaste aplicaciones de WordPress, o comenzaste con la codificación de vaqueros y llegaste a ver ICD?
MP: Por supuesto, comencé con la codificación de vaqueros. Lo haré No no Puedo decir más inteligente más líneas puras, sí, estamos empujando todo a través de FTP y luego nos preguntamos qué archivo no lo cargó. Sí. Sí. Entonces, comencé así, creo que como todos, como abrir un archivo en el Bloc de notas tratando de arreglar algo casi en el servidor, solo para descubrir después de un momento que, por alguna razón, el archivo no lo cargó y luego Cierro la ventana y el archivo se ha ido. Así que sí, hubo muchos, muchos casos como este, pero en algún momento, aprendí que, en primer lugar, es mucho mejor desarrollar en su host local y luego pasar a producción y, como los desarrolladores son perezosos, seamos honestos y de esta pereza surgen muchos descubrimientos interesantes. Entonces comencé a aprender sobre cómo automatizar algunos procesos. Por ejemplo, cómo ayudarlo a volver a esto con la buena forma de implementarlo en el servidor sin tener que preocuparse por no usar FileZilla o algo así. Piensa en el final Sí, me encontré al final y aquí estoy,
DV: Ahí tienes. Esto se está metiendo un poco en nuestro tipo de nuestro próximo tema, como la adopción, el flujo y el proceso, pero es interesante escuchar sus motivaciones allí. Diría que creo que mucha gente es perezosa. Y creo que la eficiencia es un gran atractivo, pero tenemos que devolverlo más tarde con problemas y tu tiempo y tu energía en una crisis. Sabes que la pereza vuelve a morderte si no tienes cuidado. Así que creo que esto es muy, muy actual. Vamos a tomar nuestro último descanso y volveremos enseguida. Es hora de conectarse a una pausa comercial. Estén atentos para más prensa esto en solo un momento. Todos bienvenidos de nuevo a presionar esto. Estamos en medio de hablar sobre la importancia de CI CD en WordPress y cómo podemos obtener una mayor adopción allí y más seguridad, supongo, ya que las personas están impulsando su código en vivo. Justo antes del descanso. Magic estaba hablando un poco sobre su historia con la adopción de CAC y la destrucción de archivos y la quema de aplicaciones hasta el suelo, supongo que con los lanzamientos de características malas, ese tipo de cosas. Ciertamente, he estado allí, a la derecha, podemos imaginar. Así que déjame hacerte esta pregunta. Como usted aludió antes que cree que la pereza es la razón por la cual, ya sabe, tal vez la gente no adopte CI CD. Piensas, quiero decir, obviamente hay un vector para algunos en el mundo de WordPress. ¿Crees que también está relacionado con la naturaleza técnica del mismo? ¿Por qué crees que C ICD a menudo se pasa por alto en WordPress?
MP: En primer lugar, el primer gran problema cuando se trata de CIC es comenzar tu aventura, que dice: ¿primero tienes que aprender algo sobre el control de versiones? Porque sin conocimiento sobre Git, simplemente no puedes usar los ojos. Y cuando hablo durante diferentes WordCamps con algunas personas durante todas esas conversaciones de pasillo, Victoire lleva a cabo la gobernanza porque ahora no estamos buscando principalmente el zoom. Aprendí que hay muchísimos desarrolladores que aún no usan ningún control de versiones como este. no sé por qué Quiero decir, la mayoría de ellos dicen eso. usar Git solo hizo que todo fuera más lento para ellos. Todo el proceso de desarrollo se volvió más difícil y cosas así. Y sinceramente, no lo entiendo. Pero esto es algo interesante. Este es el primer paso que no solo nosotros como cuerpo, sino que creo que cualquier empresa relacionada con CSV debería comenzar a educar a las personas por qué deberían usar la versión porque sin esto, quieren dar el siguiente paso hacia la automatización. Y cuando ellos, cuando comiencen a usarlo, creo que C ICD se convertirá en algo natural, especialmente ahora que tenemos flujos de desarrollo cada vez más complicados, cierto, porque ahora no solo empujamos nuestros archivos desde una máquina local al servidor , en muchos casos, tenemos que construir nuestro CSS a partir de CSS. Tenemos que comprimir nuestro JavaScript, tenemos que comprimir nuestras imágenes, a veces, cuando se trata de enrutamiento de aplicaciones sin cabeza, tenemos que construir toda la aplicación. Entonces, hay muchas cosas que tienen que suceder antes de enviar nuestro código a producción. Entonces, realmente recuerde que a veces, hace muchos años, simplemente abría el bloc de notas, escribía el código y lo empujaba a producción. eso fue todo y ahora es mas dificil
DV: Sí. Creo que es un punto muy profundo. sobre pensar en el viaje y las etapas de adopción y cómo el control de versiones es, ya sabes, una primera etapa crítica más accesible que la totalidad de lo que tendría que dominar para adoptar CI CD. En nuestro último par de minutos o último minuto aquí, supongo. ¿Tiene algún otro recurso que compartiría con los oyentes que están pensando en adoptar el CD de CI?
MP: Creo que voy a engañar a un hombre. En primer lugar, después de que esta persona aprendió, por supuesto, sobre el control de versiones, porque como dije, esto es lo básico, sin lo cual, hay alguna posibilidad de ir más allá. Simplemente intentaría usar el cuerpo porque así es debido a esta interfaz gráfica. Es muy fácil. Es muy intuitivo para empezar, incluso con prueba y error. Pero es muy fácil. Y sé cómo lo hice y realmente tratar de jugar con Buddy me ayudó a comprender todo el contador CIC, al igual que puedo ver que es tan poderoso. Sí, realmente ayuda. Realmente ayuda mucho y cuando alguien entiende los conceptos básicos. El siguiente paso es aprender sobre todas esas pruebas unitarias sobre las diferentes formas de implementar el código porque hay muchas maneras en que podemos hacerlo. Y no me refiero a usar diferentes protocolos porque no tenemos que usar arcos de Windows FTP o SFTP dentro de nosotros, podemos, por ejemplo, iniciar sesión en un servidor y descargarlo desde Git o de cualquier otra forma. hay tantas maneras de hacerlo. Pero primero, intente aprender lo básico y vea lo fácil que puede ser. Y luego, la siguiente parte que puede traer toda la prueba, vendrá, vendrá paso a paso. La peor cosa
DV: Encontré lo que mencionaste antes de tunap con las pruebas unitarias prehechas y poder hacer riffs en eso también es una especie de buen puente. Eso sería útil para muchas otras personas. Pero todo esto ha sido súper genial, cosas realmente muy interesantes. Y creo, ya sabes, ciertamente sé mi parte, y tal vez incluso a veces yo mismo, que impulsé tu producción en Calgary para obtener tu portada, está bien, de todos modos, así que tuve que profundizar un poco más aquí en algunos de estos puntos. Pero cuando GQ fue genial, es bueno tenerte en el programa hoy.
PM: Gracias David. Fue genial compartir algunos pensamientos sobre CI CD y realmente espero que más y más personas lo prueben.
DV: Excelente. ¿Qué le gustaría aprender más sobre lo que está haciendo la magia o para ver su viaje en CI/CD? Puede visitar buddy.works. Gracias a todos por escuchar este podcast de la comunidad de WordPress en WMR. Este ha sido su anfitrión David Vogelpohl. Apoyo a la comunidad de WordPress a través de mi rol en WP Engine. Y me encanta traer lo mejor de la comunidad aquí cada semana en Press This.