Pressione isto: CI/CD no WordPress é negligenciado e como mudar isso com Maciek Palmowski

Publicados: 2022-02-05

Bem-vindo ao Press This, o podcast da comunidade WordPress do WMR. Aqui, o anfitrião David Vogelpohl se senta com convidados de toda a comunidade para falar sobre os maiores problemas enfrentados pelos desenvolvedores do WordPress. Segue a transcrição da gravação original.

David Vogelpohl: Olá a todos e bem-vindos ao Press This, os podcasts da comunidade WordPress no WMR. Este é o seu anfitrião, David Vogelpohl, eu apoio a comunidade WordPress através da minha função no WP Engine, e adoro trazer o melhor da comunidade para você ouvir todas as semanas na imprensa como um lembrete, você pode me encontrar no Twitter @wpdavidv , ou você pode se inscrever para pressionar isso no iTunes, iHeartRadio, Spotify ou baixar os episódios mais recentes em wmr.fm. Neste episódio vamos falar sobre algo que eu acho muito empolgante que é CI/CD e WordPress e como isso é esquecido e como podemos mudar isso e se juntar a mim nessa conversa. Alguém que conhece muito bem este assunto. Juntando-se a nós de buddy.works. Gostaria de dar as boas-vindas a Maciek Palmowski para o Press this. Maciek, seja bem-vindo.

Maciek Palmowski: Olá, David. Obrigado. Obrigado por ter-nos.

DV: Estou tão feliz por tê-lo aqui. Este é um tópico que cobrimos algumas vezes ao longo dos anos aqui na imprensa. E, claro, o maravilhoso mundo do gelo marinho está sempre mudando e todos têm perspectivas únicas. E eu estou realmente ansioso por esta conversa, aqueles que estão ouvindo. O que a mágica vai cobrir é a importância do CICD, seus pensamentos sobre o motivo pelo qual o CI CD é muitas vezes esquecido no mundo WordPress, como nos últimos tempos abençoa os codificadores por aí. E, claro, alguns leilões acessíveis para adotar a prática do CI CD e do WordPress. Então, muitas coisas boas que vamos cobrir aqui hoje e estou ansioso para pular na magia. Vou fazer a mesma pergunta que fiz a todos os convidados que você provavelmente se lembra do seu perfil do wordpress.org. Mas você poderia me contar brevemente a história da sua versão do WordPress?

MP: Porque eu sou WordPress. Desenvolvedor PHP no primeiro desenvolvedor WordPress Leiter. Em algum momento da minha carreira, eu estava desenvolvendo meu próprio CMS. Quer dizer, quase todo desenvolvedor PHP tem essa fase de sua vida para criar seu próprio CMS. Em algum momento, percebi que é muito difícil manter você tem que atualizar tudo, você tem que manter tudo funcionando e você tem que fazer tudo sozinho. Então, em algum momento, percebi que talvez seja bom procurar algo que foi criado por um grupo maior de pessoas, talvez instaladores. Depois de alguns testes, encontrei o WordPress. É isso e desde então, estou trabalhando com WordPress, então já serão mais de 10 anos.

DV: Então você estava, sabe, é engraçado de tudo, eu acho que já fiz 230 entrevistas estranhas como essa, e não sei se alguém teve essa história de origem exata, mas estou muito familiarizado com muitas pessoas que têm, incluindo minha equipe e nossa agência dias, não começamos como um negócio baseado em WordPress CMS, que nosso próprio personalizado e depois adotamos coisas como WordPress e bolo e Laravel. Então eu acho isso, mas é muito interessante. Em que ano você descobriu o WordPress?

MP: Ah, foi há muito tempo. Acho que estava começando meus estudos há mais de 46 anos, então foi muito, muito tempo. atrás. Como você disse mais inteligente do que nós, com certeza.

DV: Ok, ok. Sim. 2010 para mim, quando tipos e campos de postagem personalizados foram inseridos ou faziam parte do núcleo, foi como aquele momento crítico em que eu o vi como um CMS em pleno funcionamento sem você saber, modificações pesadas.

MP: Eu me lembro desse momento, foi realmente revolucionário. Porque antes disso, eu tinha que usar posts e páginas e criar alguns, algum tipo de solução de tipos de posts personalizados que literalmente mudavam tudo.

DV: Sim, assim como seu CMS personalizado. Você provavelmente teve seu tipo de crédito de rosto personalizado. Então nós tivemos também. Aquele foi um grande ano. E um grande lançamento do WP Engine surgiu na empresa para a qual trabalho logo depois disso. Um monte de grandes agências como 10 estúdios de desenvolvimento web, mas também coisas como WooCommerce, que são realmente revolucionárias no tempo e na história do WordPress. Frio. Bem, eu tenho um pouco de singularidade lá e essa história de origem é bem legal. Então eu falei mais cedo quando na introdução eu meio que mencionei para eles que você sabe que o buddy dot funciona. E você diz a todos lá que amigo que funciona ou que amigo faz o que você faz. Lá.

MP: Então eu acho que funciona é aquele aplicativo CIC candidato, então ele faz quase o mesmo que as ações do GitHub, ou as ações do GitLab são todos os outros aplicativos que ajudam a automatizar suas implantações. A diferença é que temos uma interface de usuário muito amigável, então você tenta começar sua aventura de aventura com o CAC. Em, por exemplo, ações do GitHub, você precisa brincar com esse arquivo Yamo. E quando você começa a usar o corpo, você tem uma interface de usuário muito boa, ele é meio semelhante ao Gutenberg, ele apenas cria seu pipeline de CD CI a partir de blocos. Então é muito fácil. E esta também foi a razão pela qual comecei a usá-lo há muitos e muitos anos. Eu queria automatizar pelo meu, meu fluxo de desenvolvimento e não precisava fazer isso.

DV: Ele fez essa coisa, mas mesmo antes de você trabalhar lá, sim, claro que eu era seu usuário assuntos. Isso é legal.

MP: Sim, eu era um usuário primeiro do que era. Posso dizer que fui, vamos chamá-lo de embaixador oficial, porque onde quer que eu trabalhe, sempre tentei convencer as pessoas que trabalhavam a trocar o corpo porque era fácil de usar para todos. E foi muito legal. Foi muito bom ouvir há um ano que os caras do buddy me perguntaram ei, você gostaria de trabalhar para nós

DV: O que você faz no bastão? Qual é o teu trabalho?

MP: Eu trabalho no Messenger, o que significa que tentei educar as pessoas principalmente do espaço WordPress sobre o CIC. Como contribuir como automatizar seus processos, o que você pode fazer, graças à automação DevOps, porque não se trata apenas de implantar seu código do seu servidor local, ou do seu host local devido a um servidor, mas há muitas coisas que você pode fazer. No meio, você pode testar seu código, você pode, vamos comprar alguma coisa.

DV: Nós vamos lhe dar muitas oportunidades de compartilhar essa história. Estou apenas curioso antes de entrarmos nos detalhes do CI CD, suponho que Betty tenha coisas que ajudem o WordPress, ci CD, mais fáceis de adaptar. Isso é verdade? Material específico do WordPress ou é mais generalizado e também é bom para o WordPress

MP: Em primeiro lugar, temos tantas ações que muitas delas podem ser usadas de maneira muito fácil junto com o WordPress por exemplo, tudo relacionado ao compositor NPM. Então, esses são um pouco gerais, mas quase todos os desenvolvedores no espaço WordPress usam, mas também estamos trabalhando em algumas ações específicas, por exemplo, agora estamos preparando o ambiente para o teste de unidade do WordPress. Provavelmente também estenderemos esse sniffer de código PHP para ter padrões WordPress WordPress embutidos em nossas ações, então pense em coisas assim e estamos sempre tentando desenhar para adicionar algumas coisas novas. Então, se alguém gostaria de ter uma nova ação, seria ótimo entrar em contato conosco porque quando temos mais e mais vozes sobre a necessidade de alguma ação há uma chance maior de apenas criarmos e se não, é muito fácil apenas fazê-lo sozinho. Sempre há uma chance de configurar qualquer ação da maneira

DV: você sabe que existem tantas equipes que você criou que padrões de codificação PHP e WordPress, mashups. Nunca é tão bom saber que você está trabalhando em algo que as pessoas podem pegar e ir embora. Tudo bem, bem, vamos entrar em mais detalhes sobre as coisas do CD de CI do nível super alto, porque éramos bastante conhecedores aqui, mas você poderia fazer para aqueles que podem não estar super familiarizados como as pessoas entendem o que é um CD de CI.

MP: Sim, antes de tudo, como sabemos CI, parte do CD do CI CD não tem nada a ver com as empresas dizendo, sim, mas o CI CD significa duas coisas. Esse CI é a integração contínua. E significa que toda vez que alteramos coisas em nosso código, devemos executar todos os testes que têm todas, cada pequena alteração faz com que sempre tenhamos certeza de que nosso código está funcionando constantemente. Então essa é a parte do CI. E então temos a parte CB e isso significa duas coisas, porque pode significar desenvolvimento contínuo ou implantação contínua. desenvolvimento contínuo significa que toda vez que temos nossa versão construída pronta para enviar, uma pessoa responsável pelo lançamento só precisa apertar o botão do presidente para ativá-la. E eles continuam, pois a implantação significa que tudo é automático. Então, toda vez que alguém empurra a mudança, ele faz isso e é implantado automaticamente na produção.

DV: Acho que essa é a parte em que as pessoas começam a pensar em adotar o CI CD, elas imaginam todas as dores de cabeça que podem evitar tendo essas verificações automatizadas em seus fluxos de trabalho, e acho que é isso que você sabe, atrai muitas pessoas para isso. Estou curioso, porém, como seus pensamentos sobre a noção de, você sabe, usar o CIC e seus fluxos de trabalho e por que se preocupar ou quais são os benefícios, mas quero que você explore isso depois do nosso próximo intervalo depois após esta pausa. Hora de se conectar a um intervalo comercial. Fique atento para mais notícias sobre isso em apenas um momento. Olá pessoal. Bem-vindo de volta ao podcast da comunidade WordPress no W EMR. Este é o seu apresentador David Vogel Paul, e terá uma entrevista com o mágico Lebowski ter offski Buddy trabalha em torno de ver a magia do ICD e do WordPress logo antes do intervalo você estava compartilhando um pouco sobre o que era o CI CD. Essa foi uma explicação muito sucinta. Obrigado por isso. Então, obviamente, o CD CI talvez seja um trabalho extra. Definitivamente, acho que é um trabalho extra em termos de configuração de seus fluxos de trabalho e talvez até mesmo trabalhar com seus fluxos de trabalho em alguma capacidade. E eu sei que muitas pessoas podem usar o WordPress e acho que mesmo além do amor por codificação de cowboy ou cowgirl, eu chamei isso de codificação de lista selvagem anteriormente. Mas quais você acha que são os benefícios do CI CD? Tipo, por que se preocupar com esse pouco de trabalho extra lá?

MP : Para mim, sempre foi sobre ter certeza de que minha pequena mudança em uma parte do código na quebra alguma parte da contagem que eu nem sei porque foi feita por outra pessoa da minha equipe. Como na outra extremidade do nosso script do nosso aplicativo. E isso é algo que acontece constantemente, especialmente quando estamos construindo aplicativos em equipes maiores. Nós não conhecemos todo o código, e pode realmente acontecer que nossa pequena mudança possa quebrar alguma outra coisa e graças a ter uma fábrica para fazer alguns testes, podemos ter certeza de que isso não acontecerá ou pelo menos acontecerá. Não com tanta frequência como se você não tivesse esses testes. O único problema com o teste é que muitos desenvolvedores sabem que devemos testar nosso código. Há sempre o problema principalmente com gerentes com proprietários de empresas. E o famoso ditado que não temos tempo para criar testes, o que é claro, está errado porque toda vez que ouço isso não tenho tempo para criar testes. Depois de duas semanas. Provavelmente estaremos corrigindo algo que foi perdido por causa da falta de testes. Que estamos perdendo tempo consertando as coisas que podemos evitar apenas passando uma ou duas horas antes.

DV: Então é como ir devagar para ir rápido. Sim, leva um pouco de tempo extra, mas você vai economizar muito mais tempo depois. Não ter que combater incêndios e descontrair sendo reação exata.

MP: Além disso, é muito mais fácil planejar testes de redação porque você tem total controle sobre você. Você só precisa adicionar essas duas ou três horas para criar testes como parte da criação de seu produto ou aplicativo, seja o que for e não no meio de fazer outra coisa. E escrever correções rápidas em correções rápidas implantando no meio da noite e coisas assim, então é sempre melhor fazer algo quando o mundo inteiro está queimando, certo?

DV: Sim, esse equilíbrio entre vida profissional, a qualidade do trabalho e os ventos durante uma crise como essa. Esses são todos pontos positivos. Também me lembra aquela música, você sabe, ou é como 99 ou qualquer pequeno bug no código 99 saquinhos, como cerca de 107 dólares no caso de essa música poder ser rápida, mas a realidade é se você não tem o teste, você não sabe sobre os bugs no código até que alguém de fora comece a gritar sobre um problema se você não o pegou e está sendo.

MP: mesmo sem o teste, o sol ficaria muito longo há um número indefinido de bugs no código. Este é este é o problema.

DV: Há outra música infantil. É uma música que nunca acaba. E talvez essa seja a versão para o NCIC. Tudo bem, legal. Bem, nossas analogias de música por trás disso e podemos cavar um pouco mais fundo aqui. Como você ou a própria pilha CAC de sua equipe se parece fora do buddy, como você falou? Estou assumindo, mas ele usa sua própria pilha dentro do fluxo. Mas quais outras ferramentas você considera importantes e, em particular, para o WordPress CAC.

MP: Talvez para o meu exemplo, porque fora do corpo também estou trabalhando constantemente na minha carta de serviços web. E claro, estou usando o body para ter tudo atualizado. Neste caso estou usando o Baddeck por exemplo, para tornar meu site estático para convertê-lo em estático usando o plugin estático WP. Também uso para lançar um ou dois plugins no GitHub porque sou um grande fã de atualizações. Então, há tantas maneiras que podemos usá-lo. Como eu disse, não apenas para, para implantar coisas.

DV: Como quero dizer, como antes, você acha que são exemplos como o Snipper de estabilidade do PHP e a qualidade do código do WordPress, como essas são coisas que se destacam para mim, como, você sabe, itens principais em uma pilha de CAC do WordPress. Estou apenas curioso, tipo, existem outros importantes que você pode pensar de improviso?

MP: Quero dizer, na maioria dos casos, vamos chamá-los de clássicos, porque phpcs é uma unidade PHP para testes de unidade. Também sou um grande fã do Cypress IO para testes de ponta a ponta. Então, sim, esses são Ah, e é claro, eu também gosto e isso está embutido no corpo, temos algo chamado teste visual. Então, apenas compara a tela antes e depois da implantação para ver se quebramos alguma coisa?

DV: Há também testes de unidade do WordPress certo que o WordPress Core Team principal Jas, qualquer coisa assim.

MP: Sim, então quero dizer, na maioria dos casos, eu prefiro usar o WP mock de 10 para cima. Mas sim, às vezes eu uso esses dois testes de unidade central e quero dizer, às vezes eles são irritantes. Não sei configurar. Por exemplo, no meu computador no Windows, sempre tenho problemas.

DV: Então, como você diz, às vezes isso significa que, no lado do teste de unidade, isso significa que você está favorecendo escrever seus próprios testes de unidade? Eu acho que sim. Mas estou apenas curioso.

MP: Na maioria dos casos, alguns como eu estou usando WP mock porque eles não exigem conexão com banco de dados e teste de unidade não deve ter uma conexão com o WordPress em uma grande indústria farmacêutica, neste caso são mais frequentemente teste de integração. Livro Sim, simulação de WP. Deixe-me apenas me concentrar ou no que tenho que verificar no meu plugin e não me preocupar em criar todo o ambiente para testes. Então é muito mais fácil. Às vezes eu também uso o outro script chamado Brain monkey é meio parecido. Portanto, no geral, prefiro a abordagem sem banco de dados quando se trata de usar o teste de unidade.

DV: Isso é realmente interessante de ouvir. Quando fazemos uma pergunta paralela sobre isso, você meio que mencionou como descobriu o WordPress ao longo do caminho. Você estava sempre usando pesquisas de CAC quando criava aplicativos WordPress, ou você meio que começou com codificação de cowboy e conseguiu ver o ICD?

MP: Claro que comecei com a codificação de cowboys. Eu vou Não, não, posso dizer mais inteligentes, mais puros de linha, certo, estamos enviando tudo através de FTP e perguntando qual arquivo não foi carregado. Sim. Sim. Então eu comecei assim, eu acho que todo mundo, como abrir um arquivo no bloco de notas tentando consertar algo quase no servidor, só para descobrir depois de um momento que por algum motivo, o arquivo não carregou e então Fecho a janela e o arquivo sumiu. Então, sim, houve muitos, muitos casos como este, mas em algum momento, eu aprendi que antes de tudo, é muito melhor desenvolver em seu localhost e depois passar para a produção e porque os desenvolvedores são pessoas preguiçosas, sejamos honestos e dessa preguiça vem muitas descobertas interessantes. Então comecei a aprender como automatizar alguns processos. Por exemplo, como ajudá-lo a voltar a isso com o bom como implantá-lo no servidor sem ter que se preocupar em não usar o FileZilla ou algo assim. Pense no fim Sim, eu sou encontrado até o fim e aqui estou eu,

DV: Pronto. Isso está realmente entrando no nosso tipo de nosso próximo tópico, como adoção, fluxo e processo um pouco, mas é interessante ouvir sobre suas motivações lá. Eu diria que acho que muitas pessoas são preguiçosas. E eu acho que a eficiência é um grande atrativo, mas temos que pagar depois com problemas e seu tempo e sua energia em uma crise. Você sabe que a preguiça volta a te morder se você não tomar cuidado. Então eu acho que isso é muito, muito atual. Nós vamos fazer nossa última pausa e já voltamos. Hora de se conectar a um intervalo comercial. Fique atento para mais notícias sobre isso em apenas um momento. Todos bem-vindos de volta para pressionar isso. Estamos no meio de uma conversa sobre a importância do CI CD no WordPress e como podemos obter mais adoção e mais segurança, eu acho, já que as pessoas estão enviando seus códigos ao vivo. Logo antes do intervalo. Magic estava falando um pouco sobre sua história com a adoção de CAC e arquivos nuking e queima de aplicativos no chão, acho que com os lançamentos de recursos ruins, como esse tipo de coisa. Certamente, eu estive lá, certo, podemos imaginar. Então deixe-me fazer-lhe esta pergunta. Como você meio que aludiu anteriormente que você acha que a preguiça é o motivo, você sabe, talvez as pessoas não adotem o CI CD. Você pensa como, quero dizer, obviamente há um vetor para alguns no mundo WordPress. Você acha que também está relacionado à natureza técnica disso, como o que você acha por que você acha que o C ICD é frequentemente esquecido no WordPress?

MP: Em primeiro lugar, o primeiro maior problema quando se trata de CIC é começar sua aventura, que diz que você primeiro precisa aprender algo sobre controle de versão? Porque sem conhecimento sobre Git, você simplesmente não pode usar os olhos. E quando eu falo durante diferentes WordCamps com algumas pessoas durante um corredor, todas essas conversas são governadas por Victoire, porque agora não estamos procurando principalmente zoom. Aprendi que existem muitos e muitos desenvolvedores que ainda não estão usando nenhum controle de versão assim. Eu não sei por quê. Quero dizer, a maioria deles diz isso. usar o Git apenas tornou tudo mais lento para eles. Todo o processo de desenvolvimento ficou mais difícil e coisas assim. E sinceramente, não entendo. Mas isso é algo interessante. Este é o primeiro passo que não só nós como corpo, mas acho que qualquer empresa relacionada com CSV deve começar a educar as pessoas porque elas devem usar a versão porque sem isso, eles querem dar o próximo passo na automação. E quando eles, quando eles começarem a usar, eu acho que o C ICD vai se tornar algo natural, principalmente agora que a gente está tendo fluxos de desenvolvimento cada vez mais complicados, né, porque agora nós não só empurramos nossos arquivos de uma máquina local para o servidor , em muitos casos, temos que construir nosso CSS a partir do CSS. Temos que compactar nosso JavaScript, temos que compactar nossas imagens, às vezes, quando se trata de roteamento de aplicativos sem periféricos, temos que construir todo o aplicativo inteiro. Portanto, há muitas coisas que precisam acontecer antes de enviarmos nosso código para produção. Então é bom lembrar que algumas vezes, muitos anos atrás, eu apenas abria o bloco de notas e escrevia o código e o colocava em produção. Isso foi tudo e agora é mais difícil

DV: Sim. Eu acho que é um ponto muito profundo. sobre pensar sobre a jornada de adoção e estágios e como o controle de versão é, você sabe, um primeiro estágio crítico mais acessível do que a totalidade do que você teria que dominar para adotar o CI CD. Nos nossos últimos minutos ou no último minuto aqui, eu acho. Você tem algum outro recurso que gostaria de compartilhar com os ouvintes que estão pensando em adotar o CI CD?

MP: Acho que vou enganar um homem. Em primeiro lugar, depois dessa pessoa aprendi, é claro, sobre controle de versão, porque como eu disse, isso é o básico, sem o qual, há alguma chance de ir mais longe. Eu tentaria usar body porque assim por causa dessa interface gráfica. É muito fácil. É muito intuitivo começar, mesmo com tentativa e erro. Mas é muito fácil. E eu sei como eu fiz e realmente tentar brincar com Buddy apenas me ajudou a entender todo o contador CIC, assim como eu posso ver ser tão poderoso. Sim, ajuda muito. Realmente ajuda muito e quando alguém vai entender o básico. O próximo passo é aprender sobre todos os testes de unidade sobre diferentes maneiras de implantar código, porque há muitas maneiras de fazer isso. E eu não quero dizer usando protocolos diferentes porque não temos que usar FTP ou SFTP Windows arcos dentro de nós podemos, por exemplo, logar em um servidor e baixá-lo do Git ou de qualquer outra forma. são tantas maneiras de fazê-lo. Mas primeiro, tente aprender o básico e veja como pode ser fácil. E então a próxima parte que todo o teste pode trazer, virá passo a passo. A pior coisa

DV: Eu achei a coisa que você mencionou anteriormente no tunap com os testes de unidade pré-feitos e ser capaz de gostar de riffs que é uma boa ponte também. Isso seria útil para muitas outras pessoas. Mas tudo isso tem sido super legal, coisas realmente muito interessantes. E eu acho, você sabe, eu certamente sei a minha parte, e talvez às vezes até eu mesmo, que empurrou sua produção em Calgary para conseguir sua capa, ok, de qualquer maneira, então eu tive que cavar um pouco mais fundo aqui em alguns desses pontos. Mas quando a GQ era ótima, é bom ter você no programa hoje.

MP: Obrigado Davi. Foi muito bom compartilhar alguns pensamentos sobre o CI CD e eu realmente espero que mais e mais pessoas experimentem.

DV: Excelente. O que você gosta para saber mais sobre o que a magia está fazendo ou para conferir sua jornada no CI/CD você pode visitar buddy.works. Obrigado a todos por ouvirem este podcast da comunidade WordPress no WMR. Este foi o seu anfitrião David Vogelpohl. Eu apoio a comunidade WordPress através da minha função no WP Engine. E adoro trazer o melhor da comunidade para cá todas as semanas no Press This.