aí pessoal chegamos salve Beleza boa noite para todo mundo como que vocês estão estamos começando mais uma live aqui no canal full pych e nós temos um convidado mais que especial daqui a pouco eu vou trazê-lo aqui mas a foto dele já está aí né todo mundo acha que sabe quem é o nosso convidado Boa noite aí pro Davi Silva Carlos Silva Vanessa Araújo Dev Moura Valdir Leal Ezequiel racor Lucas Ribeiro Aventura aéreo Aventura aérea eu lembro o nick dele porque eu curti e toda a Live que eu tava fazendo no Esquenta na semana passada
ele estava aí presente Alexandre Medina Hamilton Carlos Mateus Rodrigues João Vitor dedo de ouro Renan Moraes Edilson Natalino Luiz Carlos ó Ten o meu chará aqui ó o King antenas e soluções salve família Wesley todo o team fuls com forte abraço no coração de todos isso aí o Evandro caffer não sei se assim pronunci quebre quebre é kéber Machado Márcia escolástico e Shirley Oliveira isso aí pessoal boa noite para todo mundo estou muito feliz de estar aqui com vocês mais uma vez quero saber aqui quem é novato no canal deixa aí #nato # novata desejando
aí as boas-vindas para todos boas-vindas para todas Espero que você aprecie esse tempo conosco aqui de mais conhecimento dessa semana incrível que tá sendo aqui a imersão full cyc eu quero saber também aí que a gente já tá no terceiro vídeo hoje nós publicamos a aula de golang que que vocês estão achando em qual aula que vocês já estão estão atrasados ou não quero saber Ó tem um pessoal que já postou aqui ó Vittor H novato seja bem-vindo luí Coelho o King antenas e soluções veterano eh a Jéssica Ferreira novata seja bem-vinda Jeferson Figueiredo a
Jeferson Figueiredo é veterano temos aqui o Hugo Souza novato Rogério Gonçalves novato então convido principalmente você que é novato Siga a gente aqui no canal se inscreva Ative o Sininho das notificações ajude esse canal a crescer porque cada vez mais a gente vai levando esses eventos criando conteúdos de qualidade aqui no canal full cych nós vamos criar uma trilha para que você veja como é trabalhar com aplicações de grande porte e também tem um perfil que grandes empresas estão procurando tá E para quem é veterano também eu vou puxar a orelhinha porque tem um pessoal
que é veterano mas não segue a gente aqui no canal Então aproveite esse momento aí não custa nada e já quero pedir o like para vocês deixa eu dar uma olhada aqui vamos ver inclusive deixa eu abrir aqui na verdade no meu outro monitor vamos vocês estão alinhados Aqui nós temos 202 pessoas assistindo e apenas e apenas e apenas 67 likes pessoal até eu vou dar o like aqui ó para dar mais um aqui 68 vamos lá Bora dar esse like aí porque nos ajuda bastante Beleza deixa eu dar uma olhada aqui sobre a imersão
o que que vocês estão achando # novata seja bem-vindo aí se você tá vendo aqui primeiro conteúdo no canal deixa eu ver aqui alguma coisa da imersão ó o Lucir acabou de terminar aula de vou pra terceira hoje dá para você poder recuperar porque a aula de terça é só uma hora e pouquinho a de segunda foi 3 horas e a aula de hoje foi 1:40 então dá para recuperar né Você pode assistir até no um X me aí Aproveite né um detalhe importante sobre essas aulas é que elas ficam disponíveis até segunda-feira à noite
depois a gente remove essas aulas do canal elas ficam disponíveis para os alunos do curso full cycle inclusive convido vocês se vocês quiserem conhecer mais o curso full pych tem o link aí na descrição você preenche o formulário não gasta nem 30 segundos para poder fazer isso e você já conhece outras formações que nós temos também agindo um bate-papo com os nossos especialistas e a gente vê se faz sentido para você também Você tá gostando do conteúdo da imersão no curso full cych a gente tem tudo que a gente tá passando aqui na imersão e
muito mais tá inclusive também acessem o site da imersão por quê Porque você você vai ter a programação ainda da semana tem as lives tem os conteúdos Amanhã nós vamos ter a próxima aula aí da nossa plataforma de ingressos que a gente tá construindo que vai ser sobre nextjs então não deixe de acessar porque tem um grupo no discord muitas pessoas entraram ali já estão trocando ideias eh se ajudando para poder eh resolver inclusive desafio e um recado importante Olha só nós temos aqui nessa semana inclusive deixa eu desativar uma coisa da minha câmera que
senão daqui a pouco eu vou dar um sinal aqui ela vai fazer uma coisa parece bem que tá desativado ótimo nós estamos nessa semana criando um ranking de pontos os primeiros colocados vão ganhar prêmios né E vai envolver você scanear Car codes que nós estamos passando durante as aulas eu vou passar dois Car codes hoje em momentos que eu achar oportuno momentos totalmente aleatórios e o desafio também nós vamos eh publicar mais um desafio amanhã o primeiro foi terça-feira os desafios contam o maior número de pontos então se você quer concorrer a uma bolsa no
curso full cycle cadeira Gamer Alexa Kindle tem livro tambémm se eu não me engano é livro do do Clean code participe aí que além de você ganhar todo o conhecimento você vai estar concorrendo a premios a gente vai fazer isso no domingo tá então esse recado é muito importante a gente tem aqui muitos novatos né então fique ligado nisso vale a pena você fazer o desafio aí de terça-feira o de amanhã vai ser sobre next escanei os CR codes Quem sabe você até não ganha uma bolsa aí no curso tá então ajude esse engajamento aí
que vale a pena eh o que eu ven falando na semana passada durante esses 15 dias são 15 dias que você deve levar como Ouro Claro que a gente agora já tá mais pro final mas eu tenho certeza que muitos que estavam participando do Esquenta estão estudando PR valer pegando o código fonte mandando mensagens pra gente eu tenho certeza que vai chegar lá na segunda-feira você vai se sentir um profissional muito mais qualificado tá então esses são os recados de hoje que eu tenho para passar para vocês então na Live de hoje nós vamos trazer
um especialista que inclusive é amigo meu amigo do Wesley parceiro nosso aqui como se fosse irmão é um cara especialista nessa parte de devops sre infra e tudo que é relacionado a isso além de ser um arquiteto de software também apesar da gente não ver muito ele programando mas o Fabrício também é um programador muito bom mas apenas por opção que ele está trabalhando nessa vertente né todo mundo escolhe uma vertente para poder eh ir nessa área de te não tem como a gente abraçar tudo mas eu sei o seguinte que o Fabrício é o
profissional de devops que mais sabe sambar no Rio de Janeiro e eu acho que ele torce pro adivinhar pro Botafogo Beleza então tá aí Fabrício Boa noite seja muito bem-vindo mais uma vez ao canal eu falei errado Botafogo fala aí galera beleza cara você errou assim você errou assim muito longe você errou muito longe cara você você errou aí com com f Flamengo é Flamengo cara então então vamos lá né Eh Apesar de eu ser carioca Eu não eu não curto futebol para você ter uma ideia eu não vejo nem Copa do Mundo cara eu
realmente não ligo para futebol mas assim eh o mais próximo seria o Flamengo porque a minha família inteira é flamenguista Então vamos se eu tiver que ter um time vamos dizer aí que é o Flamengo mas eu só sei quando o Flamengo joga porque o meu sogro é vascaíno Então como ele quer secar o Flamengo ele acompanha e às vezes eu tô lá e eu vejo né mas mas assim eu não eu não sou sou muito fã de futebol pessoal até falou que eu sou vascaíno aí porque eu sou Car surgiu aqui ó o Lucas
Pio ali ó o Lucas Pio tá com a bandeirinha do Botafogo Coincidência não foi porque eu vi não ele mandou mensagem ali agora bandeirinha do Botafogo ali ó é ainda falou que eu enrolei né que eu sou que eu devo ser Vas cair não mas e eu não eu não realmente não ligo para futebol cara não não não ligo muito para futebol meu negócio é ver sé cultura nerde essas paradas aí isso AC seu negócio é ficar subindo o dia inteiro aí criando e processos J Cis CD né monta abre amanhã você já tá fazendo
mas é isso e assim recentemente eu tô meio que sofrendo com com com com essa nova série de Star Wars que cara tá uma tristeza brother tô vendo só de raiva qu tô V saiu aí o saiu a série agora de Star Wars acólito Putz cara tô vendo assim tô vendo só para passar raiva sabe qual é decep né beleza pessoal hoje a gente trouxe aqui o Fabrício Fabrício ele tem um canal no YouTube também tem uma escola de tecnologia tem a devol pro inclusive você pode seguir el no canal depois a gente coloca aqui
os links para você poder seguir no Instagram no Linkedin né todos os canais Fabrício é especialista nessa parte de devs nós trouxemos ele hoje para poder falar sobre c e CD e eu posso falar isso muito bem porque a gente tem contatos com várias empresas e também os alunos dessas empresas em pleno 2024 nós temos várias empresas e empresa eh eh até de meio de porte até grandes que não conhecem o que é c e CD Tá talvez você possa pensar assim poxa mas isso é verdade sim tá Tem empresas que para você poder eh
gerar uma nova versão desse software e colocar esse software em produção muitas empresas acabam utilizando shells scripts e ftps e Git ainda né tem aquela forma ali de Git enfim essas maneiras que se usava antigamente e pense né o tanto de dinheiro jogado fora o tanto de transtornos e o tanto de qualidade que a gente tá deixando de entregar Então esse assunto é muito importante apesar de a gente não estar abordando esse assunto aqui durante a semana na imersão full pych é um assunto que a gente trata muito bem dentro do curso full pych né
que inclusive tem um link aí que vocês podem conhecer mais e também no curso que o Fabrício ministra e com maestria que é o curso da devops pro né c a e CD é algo que não é somente pode pode pensar assim ah Fabrício aí tá nessa área de infra então o pessoal de infra tem que conhecer não você precisa como desenvolvedor também conhecer porque se você quer que a sua aplicação funcione nessa esteira você vai ter que fazer uma série de boas práticas no seu desenvolvimento para que isso funcione né a gente pode falar
aqui de um monte de coisas até mesmo aí daquelas boas práticas ali de um t Factor da vida criada lá pelo criador do roco que eu nem lembro o nome dele se você eh não fizer várias coisas na sua aplicação Criar e eh as configurações certinhas permitir trabalhar com variáveis de ambiente permitir que a sua aplicação seja executada em qualquer tipo de ambiente você não vai conseguir fazer muito bem as suas os seu c seu CD Então você como desenvolvedor hoje tá Vou falar uma coisa que Talvez possa suar forte é sua obrigação como desenvolvedor
conhecer c e CD e não somente o pessoal do setor de infraestrutura cada vez mais o mercado vai pedir um profissional que tem uma visão mais geral principalmente depois agora que a gente saiu da pandemia vocês estão vendo aí como que tá o negócio de ta taxa de juros e tudo mais o mercado quer fazer mais com menos ele quer um profissional que tem conhecimento do todo a gente não tá mais lá naquela época que você vai lá desenvolve Ô toma aqui infraestrutura faz aí a o seu e sobe não a gente tem esse profissional
full cycle que tem o conhecimento ali de todo o ciclo de desenvolvimento e a gente vai falar bastante sobre ca e CD não é isso aí mesmo Fabrício é isso aí cara é isso aí mas é um ponto muito importante principalmente porque eh até você falou aí no início muita gente acha né que eu sou um profissional de infraestrutura por est trabalhando com devops por ter essa pegada de cloud né pensar ali numa arquitetura de solução mas não cara meu background como o Luiz falou é de desenvolvimento de software eu trabalhei né Fabrício cabeludo né
Mais ou menos 18 anos atrás eu trabalhei meu meu primeiro emprego na área de TI assim na área de de início de carreira como estagiário foi como desenvolvedor csharp ou melhor desenvolvedor csharp não desenvolvedor vb.net eu comecei a minha carreira desenvolvendo em vb.net depois eu fui para C Sharp né por conta da própria tecnologia né o VB foi ficando de lado graças a Deus né e e depois eu aprendi o objetivo EC né eu desenvolvi um tempo com mobile e tal eh aprendi um pouco de Java tentei ali trabalhar com Android mas acabou que eu
foquei mais no iOS na época fazia mais sentido e hoje cara tô tô também desenvolvendo com python go né para fazer algumas coisas aqui internas e cara eu acabei indo para essa área de devops justamente porque indo pra área de arquitetura quando eu comecei a desenvol estava na área de desenvolvimento queria evoluir eu fui pra área de arquitetura e eu vi que muitos profissionais acabam eh querendo ser aquele profissional que define uma arquitetura que vai botar ali uma mensageria Vamos trabalhar com banco de dados eh nos ou SQL enfim mas não pensa na entrega desse
projeto né qu é desenhar quer montar o o PowerPoint bonitinho mas não pensa em como entregar essa solução toda e é fundamental hoje o profissional que desenvolve pensar também em todo o ciclo de entrega né Principalmente Quem quer ser né profissional full cycle né que cuida aí de todo o ciclo do desenvolvimento até a entrega você é responsável pelo código que você desenvolve tá rodando lá em produção também e cara uma das coisas que o Dev né Tem mais medo né eu posso falar isso porque eu já tive muito medo eu tenho certeza que o
Luiz já teve medo disso é o Deploy em produção quem aí tem medo de Deploy em produção Pega aquele código né codifica design pattern Putz bota lá arquitetura exagonal DDD maravilhoso quando chega em produção meu amigo é onde o Dev chora e a mãe não vê sabe qual é porque cara tem aquele medo aquela insegurança de que puts Pode dar ruim e que dá ruim né em produção isso pode acontecer isso em algum momento vai acontecer mas você ter mais segurança do que o que você fez foi testado validado seguindo as melhores práticas faz toda
a diferença para você ter uma segurança de que vai ter se tiver problema vai ser ali o mínimo possível de de menor Impacto porque tudo foi validado e também né a recuperação você consegue executar ali a recuperação do sistema e a correção o mais rápido possível então Eh cara isso é algo que devops traz para você que você ter esse conhecimento né de infraestrutura você ter esse conhecimento de devops de automação vai fazer com que você perca esse medo de Deploy produção você consegue fazer né o que a gente fala eu falo muito lá pra
galera é o Deploy sem medo né então cara isso faz toda a diferença no profissional profissional que desenvolve bem cara ele tá bem no mercado tá bem no mercado mas o profissional que ele entrega essa solução em produção eh sabendo ali como resolver caso tenha um problema fazendo esse Deploy em produção sem medo brother faz toda a diferença é muitas vezes essa questão de da produção você falou o ponto interessante porque a gente pode pensar que tipo assim o eu entreguei o software ali fiz coloquei a nova versão e responsabilidade da infra verificar isso não
é responsabilidade de tudo essa separação que existia ela existe ainda hoje né a gente não pode mentir ela existe ainda hoje mas as empresas que estão entregando o software melhor elas estão tirando essa separação né como se a gente tivesse lá numa fábrica que eh eu faço aperto um parafuso outro cara faz alguma outra coisa hoje a gente tem cada vez mais profissionais que tem a visão do todo então você desenvolvedor Imagino que a maioria aqui sejam desenvolvedores é porque normalmente desenvolvedores tendem a a negligenciar isso você tem que entender o que está acontecendo né
porque você você vai conseguir desenvolver melhor você vai saber ajudar nesse processo contribuindo para que cada vez mais você tenha Eh toda uma metodologia de entregar esse software com qualidade se você tiver medo de entregar esse software é um bom um bom termômetro né como que eu sei se eu preciso disso na minha empresa ah Toda vez que você entrega o seu software você vai eh já saber que nas Hoje é quarta-feira você sabe que a pelo menos até sexta-feira Alguém vai te ligar alguém vai falar qualquer coisa se você tá nesse cenário e essa
vida que você quer para você mesmo É sério tipo você produz alguma coisa corrige alguma coisa mas você não tem de fato confiança que aquilo vai dar certo aquilo tá sendo entregue porque vai ter um monte de outros problemas a gente não precisa trabalhar dessa forma Então fique ligado nessa Live porque o Fabrício vai te dar um overview sobre isso e certeza mostrar de forma prática eu tenho certeza que vai sair dessa Live aqui se você não implementa isso dentro da sua empresa ou se você não conhece vai Poxa eu tenho que aprender esse negócio
eu tenho que implementar aqui e é para ontem né com certeza Car se você não saca Pine CCD Eu vi uma galera aí falando nos comentários que não sabe nem o que é cicd cola aqui com a gente que hoje você não só vai aprender mas você vai conseguir ali implementar uma estrutura base de beleza Eh vamos lá vamos começar aqui luí pra galera já começar a entender ter a sacada de como isso vai fazer a diferença na carreira delas dessa delas e e por que que você vai conseguir fazer um Deploy sem medo vamos
lá vamos entender o que que é uma pipeline CCD deixa eu compartilhar aqui a minha tela né porque eu sempre esqueço essa etapa por né Mas vamos lá por que que se icd é importante por que que é esse lance de pipeline como é que isso faz com que eu reduza o meu a minha insegurança na hora de fazer um Deploy quando a gente vai fazer um Deploy um modelo aí vamos dizer assim um modelo tradicional ou os meus alunos gostam de falar o Luiz o modelo artesanal né de entrega de software né mas como
é que a gente faz quando vamos Quando vamos subir ali uma aplicação no no modelo artesanal você tá aí desenvolvendo um projeto tá todo mundo ali desenvolvendo projeto eh criando ali novas fites criando ali eh correções de bugs e por aí vai chega um momento né que putz vamos subir uma nova versão vamos criar uma nova versão dessa aplicação E aí o que que acontece nesse momento a equipe toda para né chega lá o Tec Lead ou profissional mais Sênior e fala ó sobe mais nada pro repositório não sobe mais nada lá pro meu github
ou seja lá qual repositório tipo Capitão Nascimento né vai subir ninguém todo mundo vai ficar quietinho aí vai subir ninguém vai subir ninguém exato exatamente vai subir ninguém e aí esse profissional vai pegar esse código a última versão do código vai executar ali manualmente na máquina dele as verificações né executar teste validar integração quando isso é implementado né muitas vezes a gente nem tem isso implementado e eu já vou chegar lá mas vai executar todas essas etapas criar ali o build compilar tudo subir lá para um FTP ou para ou mandar por e-mail sei lá
né Por incrível que pareça tem gente que ainda manda por e-mail mas vai pegar esse pacote vai levar lá para vai mandar de alguma uma forma lá pra equipe de infraestrutura pra equipe de cloud e a galera se vira para fazer o Deploy Esse é o modelo artesanal e aí qual é o problema nesse modelo esse modelo ele faz com que primeiro você não tem integração entre a equipe de desenvolvimento e infraestrutura que é fundamental hoje em dia é impossível você ser bom em Tudo é impossível você ser aquele profissional que sabe tudo de tudo
você sempre vai precisar de alguém que tem aquele conhecimento complementar o seu Para quê Para garantir que a aplicação o seu projeto e tá sendo executado da maneira correta no ambiente ou que você codificou ali da melhor maneira seguindo as boas práticas é impossível você saber tudo luí falou aí pô fabríci saca de infra saca de cloud saca de devops cara eu sou uma porcaria em frontend sou uma porcaria eu sei que eu não sei frontend tá então eh me viro Claro às vezes consigo me virar ali mas cara eu sei que frontend é algo
que eu preciso de ajuda ali na hora de desenvolver e entregar um projeto que tem como requisito frontend e tá tudo bem eu não tenho trauma com isso eu não deixo de dormir nada disso então importante é você ter essa mentalidade de integração e quando você trabalha dessa forma manualmente onde não vai subir mais nada aí pega lá o pacote e joga pra equipe de infraestrutura você não tá tendo isso você não tá tendo integração então aí a gente já tem um problema a gente tem um outro problema que é a execução manual pô faz
sentido hoje 2024 a gente tá falando de arquitetura de microsserviços a gente tá falando de nuvem a gente tá falando de projetos críticos onde você precisa ter ali uma alta disponib idade de aplicação aplicação de grande porte faz sentido você parar a equipe para fazer uma nova entrega você não sobe mais código para fazer uma nova entrega não faz sentido galera cara empresa como mercado Oi eu vou fazer analogia imagina que você tem uma mineradora essa analogia que você fez agora imagina que você tem uma mineradora ao invés de você usar toda a tecnologia e
maquinário para poder quebrar a pedra você vai dar um uma picareta pras pessoas ir larem quebrar a pedra exatamente isso que tipo em vez de você criar todo um processo facilitando isso aí não mas ou ou senão você dá até uma colher pra pessoa quebrar ali e fazer esse trabalho manual o quanto de dinheiro que você não está jogando fora tá quanto dinheiro você não tá jogando fora se a gente tem por por onde automatizar as coisas a gente tem que automatizar quando você cria essas divisões aí você vai criar eh ruídos de de comunicação
todo mundo vai se estressar fora que vai começar ah o cara lá da infra coloca a culpa no Dev o Dev coloca o cara enfim todo mundo começa a colocar a culpa e na verdade não é a culpa é o processo que tá errado e aí todo mundo acha que é o problema é o outro enfim a gente não chega a lugar nenhum a empresa perde dinheiro e você nunca consegue escalar esse negócio cara eu vou além eu vou assim eu vou eu não vou nem falar do dinheiro da empresa tá porque muitas vezes a
galera tá ali ah pro dinheiro da empresa e tal quanto quanto que você desperdiça do teu talento quanto que você desperdiça do teu conhecimento putz você é um Dev saca de arquitetura saca de desenvolvimento saca de codificação cara tu quer ficar perdendo tempo fazendo build na tua máquina Brad você quer ficar perdendo tempo eh fazendo eh pull na Brain m para você fazer ali uma nova release cara eu digo eu falo isso bastante que é o seguinte é deve bom os melhores desenvolvedores que eu conheci eram preguiçosos porque cara tinha aquela tarefa ali que tem
que fazer o tempo inteiro Putz faz um script faz alguma coisa que vai fazer ali o trabalho por ele Ó eu vou falar uma outra coisa que eu lembrei de um um não não muito longe eu tava conversando com o aluno né o aluno me perguntou assim e no Instagram ah Luiz a gente tá querendo reescrever o nosso front chend né tô aproveitando fabr a gente tá querendo reescrever o nosso front chend a gente tem aqui Um front chend antigo e a gente tá pensando em criar um novo repositório para poder fazer essa cri na
verdade não é criar um novo né é fazer ali a as refatorações então a gente tá pensando em criar um repositório novo eu cheguei e perguntei mas por que você quer criar um repositório novo é só você e gerar uma tag ali pra versão que vocês querem versão final do monolito e continuar fazendo a Git permite fazer isso e versionar o código aí eu aí eu falei mas tipo assim eu fiquei pensando quantas outras a questão é quantas outras pessoas às vezes não tem a mínima noção eh de como funciona um Git da vida e
você vai pensar Tem pessoas que não conhecem nem o que que é ca e CD Eu imagino que não é nenhum demérito isso não é nenhum problema mas assim eh essa Live aqui eh ela vai ajudar principalmente você que às vezes trabalha dentro da sua empresa e tá passando aí por esse cenário que o Fabrício tá falando agora né Eh você precisa tipo assim sair da daquele mito da caverna de Platão né que você fica lá vendo só as sombras e não vê o mundo passar lá fora e você precisa sair da caverna e Verê
o mundo que tá lá fora exatamente cara exatamente assim não dá pra gente hoje pensar que dá para fazer esses processos manuais porque você tá perdendo ali o seu talento você poderia estar entregando algo de muito mais valor e pensa o seguinte cara empresas como o Mercado Livre que Putz faz aí mais de sei lá 5000 10 5000 é enfim cara alguns cara se fosse 1000 já seria muita coisa né 1000 já seria se fosse 50 já seria se fosse 50 já seria exato exatamente cara imagina empresa como Mercado Livre que faz Sei lá mais
de 5000 deploys por dia ter que parar a equipe para fazer ali o Pool e e e fazer o processo de Deploy não faz sentido né E quando a gente fala em etapas manuais cara eh uma coisa é certa o ser humano ele erra então em algum momento que você tá ali fazendo por mais Sênior que a pessoa seja né ela erra Putz eu erro o tempo inteiro luí erra o tempo inteiro né então assim vocês erram o tempo inteiro Tá tudo bem mas a gente tá ali no processo de entre algum momento vai errar
tu vai esquecer uma etapa vai bater preguiça #c galera tá lá no bate esperando para tomar um Shop ali para gerar ali o antes de você gerar depois que você gerar ali a release e tal cara e alguma etapa vai ser pulada E aí esse software né que tá sendo feito ali o Deploy ele não vai ser entregue com as práticas definidas no projeto E aí o que que você vai ter vai ter aquele medo de colocar ali em produção vai ter o medo ali de dar algum problema ali de cara quando os o ambiente
sobe quantas vezes isso acontece de você colocar em produção Putz D pau tem que voltar ali e o esforço de toda uma equipe e o seu é desperdiçado por conta de você não tá implementando boas práticas de entrega e eu vou falar até de desenvolvimento porque quando a gente fala em desenvolvimento desenvolvimento de software não é só quando eu termino de codificar des envolvimento de software né o produto ele é considerado entregue quando o usuário tá usando não é quando você termina de desenvolver você terminou de desenvolver não tá entregue Não bonitão tá tem que
tá lá rodando em produção Você subiu foi tipo assim subiu tchau família foi embora problema de vocês aí tchau não não é assim beijinho no hombro e tchau não é assim não é assim exatamente então eh a gente tem que pensar nesse cenário certo mas vamos lá o que que é pipeline pipeline CCD quando a gente fala em pipeline quando a gente fala aqui né no conceito na na própria tradução de pipeline a gente fala em encanamento né a gente traduz Puts pipeline é encanamento E aí eu te falo quando você pensa no encanamento Quando
você vê uma tubulação o que que nada mais é nada mais é do que um fluxo contínuo onde algo tá sendo conduzido ali naquele encanamento que vai do ponto a ao ponto b quando a gente fala em desenvolvimento de sistemas A ideia é mais ou menos a mesma você entra aqui com um elemento né vai entrar aqui vai iniciar um fluxo aqui eh entrando ali na nossa pipeline e no final eu vou ter a saída que vai ser aqui um resultado que vai ser conduzido aqui por todo o fluxo da minha pipeline E aí o
que que eu vou ter nesse fluxo diversas etapas diversas tarefas que são executadas ali que fazem parte do meu processo de entrega do software para garantir velocidade qualidade e confiabilidade na entrega do meu projeto Então pipeline nada mais é do que você criar automação onde você vai eh imputar os elementos iniciais você vai inserir ali os elementos iniciais e no final você vai ter o resultado E ali vai ser conduzida diversas tarefas para garantir que esse resultado final vai ser ali o que se espera e o que que eu posso fazer numa pipeline o que
que eu posso fazer numa automação posso fazer o que eu quiser eu posso criar uma pipeline para renovar certificado SSH né para https eu posso criar uma automação para sei lá me alertar de uma Nova tarefa eu posso criar pipeline para para qualquer tipo de processo que eu faço manualmente e eu quero automatizar mas a gente tem no desenvolvimento de sistemas quando a gente fala de um ciclo de vida de software a gente tem eh a o conceito de pipeline de ci deixa eu pegar aqui certo o ci certo e que é a integração integração
contínua certo botando aqui a integração contínua beleza aqui eu vou ter opa vou ter aqui a integração contínua e eu vou ter aqui também deixa eu tirar aqui eu vou ter aqui a minha integração contínua e eu vou ter também a minha entrega contínua Opa cadê cadê Aqui eu vou ter aqui a minha entrega contínua ou o CD certo então eu tenho o Ci e eu tenho o CD Opa botei aqui errado o microfone tá na frente do teclado às vezes eu saio fazendo um monte de coisa aqui errada mas faz parte eh então eu
tenho a minha integração contínua e eu tenho a minha entrega contínua o que que é a pipeline deci o que que é a integração contínua a integração contínua ela nada mais é do que o momento em que eu pego um código novo que eu desenvolvi é um projeto ali que eu tô desenvolvendo e eu incorporo no projeto já existente eu toda feature que eu tô desenvolvendo é um código novo né eu tô criando alí uma nova funcionalidade tô resolvendo um bug E por aí vai e cara quando eu pego esse código novo essa nova funcionalidade
e coloco num projeto já existe numa versão e já atual da minha aplicação eu tô pegando um código novo inserindo ali e criando uma nova versão então a pipeline deci ela inicia quando eu faço aqui o commit de um código novo certo e a saída né o resultado final vai ser o quê vai ser a minha relise vai ser aqui e o meu pacote o meu entregável né para ser executado em um ambiente e o que que pode ser essa release né o que que pode ser aqui essa essa entrega final no caso de uma
aplicação em dnet por exemplo que é o meu background pode ser um executável pode ser um arquivo DL pode ser ali e uma aplicação web que você vai e entregar ali no final pode ser um código JAVA né o é jar não é a extensão do Java é jar não é isso uma das extensões para poder executar o famoso já e pra web o se quiser rodar um War ainda né que não é para fazer guerra com ninguém mas é para um ar da vida Exatamente exatamente então Eh aqui eu tenho no final a minha
release né eu tenho o Java eu tenho dnet eu tenho um compactado eu tenho a minha imagem doc né que é ali o entregável para executar ali num no ambiente final então a pipeline minha tubulação de integração contínua vai ser né Eh o comite do código entrando e aqui no final a minha release em homenagem ao Anderson que tá aí falando no chat né É como se eu tivesse botando aqui ó o Super Mário né o Mário Bros tá entrando aqui na no tubulação do mundo um e indo lá pro mundo dois no final aqui
né poderia usar essa essa analogia essa comparação mesmo eh mas cara nada mais é do que isso tá então toda vez que eu trabalho com integração contínua eu tô inindo o código e gerando uma nova release e o que que eu faço aqui para garantir que a minha aplicação né Essa minha nova release ela vai ser entregue com segurança com qualidade com não vou dizer sem bugs porque é um mito você achar que você ter boas práticas de desenvolvimento você vai gerar bug bug é feito por ser humano ser humano erra então assim você vai
ter mas você vai mitigar O que que você vai ter aqui você vai ter etapa de build você vai ter etapa de teste e aí quando a gente fala em teste a gente fala em teste de unidade teste de integração e por aí vai eu vou ter também aqui Scan de segurança detecção de falha eu posso ter aqui práticas que a minha empresa já segue né important também isso tá muito alinhado com as práticas de desenvolvimento da empresa né então quando a gente automatiza um processo a gente automatiza pensando nos processos da empresa do projeto
da equipe não adianta você também inventar moda sem alinhar com a equipe que cara vai quebrar tudo né tudo que é inserido tem que ser muito bem alinhado e combinado certo então tudo isso a gente vai ter aqui na pipeline disci a para no final eu ter aqui eh o meu processo aqui a minha release criada quando a gente fala no CD quando a gente fala no continuous delivery no continuous deployment eu tô pegando aqui ó eh a minha release certo e eu tô botando ela aqui no início do processo então a pipeline de CD
ela starta no final da pipeline de ci você terminou de criar release agora que que você tem tem que fazer pegar essa relise e botar para rodar num ambiente que vai ser ambiente de produção homologação não importa Mas você vai colocar para rodar num ambiente é claro crianças né não coloquem direto em produção coloquem num ambiente ali intermediário valide tudo bonitinho E aí depois vai pra produção porque senão o medo de colocar em produção ele não vai passar ele vai aumentar porque né a gente tem que tomar esse cuidado e aí a entrada aqui de
release né no final eu vou ter aqui o quê né o meu projeto projeto em execução certo e aí que que a gente vai fazer aqui todas as práticas que garantem qualidade velocidade e confiabilidade da minha nova versão sendo executada desse ambiente e aí eu posso ter eh testes funcionais testes de regressão posso ter teste de carga para verificar se a performance tá legal se tá dando conta ali do recado posso ter ali eh uma validação manual E aí a galera já olha com aquela cara assim de Putz validação manual FAB Putz Que negócio é
esse quando eu falo em validação manual não é que você vai reconhecer em cartório não é que você vai pagar o duda não é que você vai lá no Detran fazer vistoria não e essa validação manual ela tem que ser tão simples quanto um clique de um botão né clicou lá no botão e puts tá lá projeto em execução aqui no nosso ambiente Beleza então isso aqui é o fluxo de entrega do seu software no ambiente final é claro como eu disse e quando a gente fala em entrega a gente pode ter aqui entrega em
diversos ambientes essa pipeline aqui de CD ela meio que pode ter várias etapas ali em vários ambientes beleza show de bola Tiraram a dúvida aqui Ficou claro o que que é cicd depois galera que se ficou alguma dúvida comenta aí depois manda lá mensagem para mim no Instagram que eu vou ajudar depois eu eu tiro as dúvidas Sem problema nenhum beleza bom E aí fala queria aproveitar aqui para poder pegar uma dúvida ali que tem a ver com o que você tá falando Silva perguntou se essa seria uma imagem docker por exemplo uma nova versão
docker Hub exatamente Inclusive é o que a gente vai fazer aqui a gente vai fazer aqui também a gente vai continuar a gente vai fazer essa integração contínua certo e vai ser justamente isso a gente vai pegar aqui criando uma nova imagem a gente vai criar um pacote tudo que assim a a release ela é o pacote de entrega da sua aplicação Sabe aquilo que você colocava no pen drive que você jogava no FTP que você mandava por e-mail botava no CD galera Não é dessa época galera Não é dessa época já entreguei muito software
em CD Room aí muito muito sof mas cara tudo que você faz faz fazia entrega dessa forma empacotavam né com seus scrips Principalmente quando a gente fala em node Python né Eh você vai fazer dessa forma e vai empacotar da da forma que fo al Olha só faessa mensagem na tela Daniel Silva hoje ainda faço via FTP Não beleza FTP eu sei que alguém uma galera ainda faz mas assim CD R eu acho difícil hein CD Room CD Room acho difícil se alguém faz aí com CD Room me conta me conta aí é porque você
vai ter que ter pelo menos o driver do CD ainda né para poder assim tem é possível é assim pen drive FTP Eu Acredito CD CD eu já acho difícil CD eu já acho difícil certo mas vamos lá legal então isso aqui é o é o conceito tá tudo isso que eu tô falando aqui com você eu tô falando de conceito não tô falando de ferramenta ainda né nada disso aqui eu falei para você usar ferramenta nada disso né mas quando a gente vai implementar um conceito Eu preciso de uma ferramenta não tem jeito né
Tem um conceito que é implementar automação pipeline CD eu tenho que usar uma ferramenta para isso E aí entram as ferramentas de automação e de pipeline CD hoje no mercado a gente tem cara literalmente uma porrada de ferramenta PR criação automação criação de pipeline e tudo mais tá primeiro né que a gente tem que falar aqui que é o mais é o mais antigo assim que eu pelo menos conheço é o jenkins tá usei muito jenkins para fazer a automação lá atrás projeto em dotnet antigon antigo hoodson exatamente hoodson enfim mas fiz muito muita pipeline
lá atrás dnet 4. x né 3. x né e eu tô falando aqui não é dnet Core não Galera tô falando dnet né que a gente falava dnet full Framework só rodava no Windows eu fazia eh Deploy no is Olha era uma beleza era uma beleza para não dizer o contrário mas usava ali usei muito ali o o jenkins mas a gente a gente tem outras ferramentas também hoje muito mais modernas a gente tem e o gitlab tem o bit Bucket tem o Circle ci né Tem diversas ferramentas hoje e a ferramenta que eu posso
dizer que é a mais popular hoje no mercado principalmente por conta do próprio github que a gente acaba tendo muito contato porque a gente usa já o github é o github Actions o github Actions ele é a ferramenta que de automação de criação de pipeline da própria github né que hoje né quando a gente fala em github github quando eu conheci quando o o Luiz conheceu cara era uma era simplesmente um repositório de código a gente colocava lá o nosso código Open S nossos projetos de estudo e tal para poder né armazenar né de forma
remota e não tudo caso desse um C no computador hoje o github é muito além disso muito além o github Hoje ele tem repositório de código gerenciamento de projeto dá para você montar o teu ambiente de desenvolvimento lá com o o code code workspace tem cara tem diversos recursos nele né e tem o github Actions que é a ferramenta de pipeline então pra gente falar mais sobre gth Hub Actions vamos ver aqui na prática a gente vai montando aqui né a nossa pipeline e eu vou mostrando os conceitos para vocês tá eh eu vou colocar
aí o link do repositório tá tá aí no chat vai depois coloca aí na descrição Ih eu não tô conseguindo postar Luiz bota aí depois é porque é porque no o YouTube eh não deixa né somente o hosto que consegue Vou compartilhar aqui com Gal bota bota aí que bota aí que que que que a galera acompanha Mas vamos lá e eu vou fazer aqui o seguinte né a gente vai começar criar aqui o nosso projeto o nosso github o nosso github Actions e um recurso que eu posso utilizar aqui inclusive que eu não vou
fazer Clone aqui nada do projeto pra minha máquina eu vou fazer o seguinte eu vou abrir um vest code aqui direto no meu repositório né para quem não sabe se eu apertar o ponto aqui ó no meu repositório na minha página ele abre aqui um editor web do vs code é bem bacana E às vezes eu tô com quero fazer um ajuste ali fino e tal já sei qual é o problema eu já venho aqui direto certo então aqui né no nosso caso eu ten eh o projeto que cara quem me acompanha já conhece é
um projeto aqui em node JS que converte faren para cel cel para farri Luiz cara já tá já tá não tá careca de saber não mas já conhece aí esse projeto há bastante tempo cara a galera por mais que pessoal às vezes me usou e cara a galera usa muito também como demonstração atende aqui muito bem o que a gente precisa é um projeto em node uma aplicação web simplona que a gente vai fazer o Deploy dela aqui no caso como o foco é c cd eu já tenho o docker file e eu já tenho
aqui O Manifesto do kubernetes eu não vou entrar nesse detalhe aqui de kubernetes docker nada disso a gente vai montar automação mas Fabrício dá para implementar isso eh num ambiente lá com APP service com eh o bein stock da WS dá cara dá qualquer qualquer ambiente que você queira fazer Deploy você pode fazer com pipeline Sem problema nenhum Beleza então a gente vai criar aqui o nosso o nosso a nossa pipeline para isso eu vou voltar aqui no repositório e eu vou mostrar aqui para você como é que a gente vai fazer e Primeiro passo
é vir aqui ó em Actions certo na abinha aqui Actions e ele vai me dar um get started aqui para eu criar a minha a minha automação certo e você percebe que olha só que legal ele já Analisa aqui o que que tem nesse transitório e ele me sugere alguns templates aqui ó ele me sugere aqui para montar imagem doc para trabalhar com node JS E por aí vai aqui para Deploy também então já me su aqu coisas ali Fabrício talvez porque assim eu trabalhei bastante com nessa época não tinha gerenciadores de pacote né Teve
uma época que se usava Bauer e outras coisas então esse Grant gop eh essas ferramentinhas você criava um Manifesto ali na raiz do seu projeto E aí você rodava um comando que ele eh produziu os seus javascripts fazia conversões de imagem e gerava ali um o o eu vou te vou te confessar que eu como como eu não sou tão bom assim como eu não sou bom né na verdade em frontend né já vem aquele pacote do JavaScript que eh eu eu eu eu conheço bem menos mas eu usei o gp também cara eu já
usei esse goup e o webpack eu já usei também é o grunt não grunt é engraçado nunca usei grunt não mas GR é mais velho grunt é Ah então o grunt Eu nunca usei o webpack já usei teve aqui uns caras que eu eu já usei esse esse grunt aqui realmente não mas enfim eh eu tenho aqui alguns templates e aqui no caso eu poderia escolher qualquer um deles para ter o meu start mas eu quero mostrar para você aqui do zero então eu vou botar aqui ó setup a workflow yourself Então vou botar aqui
setup workflow yourself Por enquanto vou esconder esse cara e olha só que legal né Ele criou aqui para mim né um arquivo iemo né dentro da pasta pgub bwork flows então toda vez que eu vou criar um uma pipeline aqui no github Actions eu tenho o primeiro conceito que eu vou te inserir agora que é o conceito de workflow toda a automação no github Actions é criando workflow então ah vou criar uma pipeline C de c cd você vai criar um workflow que vai ter ali as suas as suas etapas de c cd Então tudo
isso vai ser dentro aqui do workflow então aqui eu crio um arquivo de workflow que é um arquivo emo ah FAB se a gente trabalha com emo na hora de criar pipeline É isso mesmo a gente vai vai trabalhar aqui com o Emo beleza e aí primeiro conceito inserido que é o do workflow eu vou colocar aqui o nome né do meu workflow E aí eu vou chamar aqui de c e CD certo né Vou botar aqui esse nome e aqui deixa eu dar um zoom aqui para ficar legal para ficar maior mas aqui ó
em no no meu workflow eu vou colocar aqui o nome né Vou botar aqui o name e em seguida o que que eu vou fazer aqui depois do name eu vou definir o evento né eu vou definir aqui uma Trigger O que que é uma Trigger a trigger é o gatilho é o evento que vai disparar essa minha automação ah Fabrícia então Putz eu tenho que definir um evento para disparar minha automação Claro claro você vai colocar ali um evento que vai disparar no caso aqui quando a gente tá criando né A Nossa pipeline de
ci qual vai ser o meu evento vai ser um comit então toda vez que eu comitar ali o código numa brint específica eu vou disparar esse cara E aí o que que eu vou fazer vou botar aqui on né que é a declaração do meu da minha Trigger do meu evento eu vou colocar aqui toda vez que eu fizer aqui um push né no meu repositório ele vai disparar essa automação essa pipeline ou esse workflow E aí eu posso adicionar aqui o seguinte eu posso botar um push e definir aqui em quais branchs ele vai
né fazer aqui esse disparo em quais branchs eu tenho que subir código para ele disparar a automação aqui no caso eu vou criar aqui que ele vai disparar na Main Só quando eu fizer o commit né quando eu subir o código na Main certo então aqui defini o meu evento eu vou adicionar aqui também o o workflow ó eu vou definir aqui o workflow dispatch onde eu vou né Eh declarar que eu também vou disparar esse cara manualmente como eu tô criando aqui eu vou cri vou criar testar validar eu quero disparar aqui manualmente então
eu vou fazer eh dessa forma Beleza então ok defini aqui as minhas trigas os meus eventos Agora eu preciso definir os meus Jobs o que que é um Job O Job ele é um conjunto de tarefas que eu vou executar então aqui para ficar mais fácil como eu vou declarar aqui a esse conjunto de tarefas eu vou declarar um Job de ci onde eu vou ter todas as tarefas todas as rotinas de integração contínua e eu vou criar também o dcd depois então vou criar aqui o job DCI depois a gente cria o dcd Beleza
então Job é um conjunto de tarefas quando eu crio aqui o meu Job eu tenho que definir o meu Runner então eu vou utilizar aqui ó o runs on para definir e onde é que eu vou executar essa minha automação toda vez que eu vou executar alguma coisa eu vou executar al meu código que eu vou executar uma aplicação eu preciso botar esse cara aonde no ambiente aqui não é diferente eu tenho que especificar aonde eu vou executar qual tipo de ambiente que eu vou executar essa minha automação né no caso o meu Job no
github Actions você pode escolher o ambiente Ubunto no caso é Linux e o Windows e Mac tá é óbvio que qual é o mais barato o mais barato é o Linux né então aqui eu vou botar o bunto traço latest então aqui eu tô definindo o meu Runner eu tô definindo aqui qual vai ser o meu ambiente de execução Beleza agora runs on ubom latest como eu tô trabalhando com docker também node que pode ser executado no ambiente Linux eu vou utilizar aqui não vai ter problema nenhum Beleza então runs on o bu latest show
de bola agora eu preciso executar né ou melhor eh declarar aqui os meus steps que vão ser os meus passos né os meus passos de execução né O Job aí não tem um conjunto de etapas de passos de tarefas que ele vai executar eu vou declarar isso aqui nos steps né vai ser aqui a as tarefas as ações que eu vou executar de forma ordenada ele vai executar na ordem que eu colocar aqui beleza e aí eh no nesse cenário aqui eu posso executar né eu vou executar uma tarefa E aí toda vez que eu
executar uma tarefa eu vou criar uma Action A Action ela é a execução de um comando ou um bloco de código que vai ser executado dentro da minha rotina aqui dentro do meu Job então aqui o a Action mais simples que eu posso utilizar é essa aqui ó name E aí eu vou botar aqui eh exemplo certo e colocar aqui Run Eco eh hello world certo né para ficar né mais clássico possível então se eu fizer isso aqui e der um comite eu criei pô a minha primeira automação minha primeira pipeline Olha aí Luiz Putz
cara pipeline criei aqui com algumas linhas de código só você já consegue criar inclusive eh até aproveitando aí para Fabrício fez toda a explicação ali mostrando o conceito de cada instrução eh quando você começa a criar essas pipelines aí o github Action já te D um esqueleto você pode pegar esqueletos prontos e jogar aí também então e eh né você começa a tornar o trabalho mais prático e aquilo ali começa a ficar eh bem automático né você vai se interessar mais ali em colocar quando isso vai ser disparado e quais as tarefas né Exatamente exatamente
E aí agora se eu vi na aba de Actions você vê que agora o github ele ficou que eu tenho uma ação que eu tenho uma automação aqui e ela foi disparada porque eu fiz o commit né na Main ele foi disparado Se eu vir aqui né eu tenho a lista dos meus workflows e se eu vir aqui ó eu tenho a execução onde ele tem os Jobs que ele executou executou aqui e se eu viro aqui no Job ele me mostra ó as ações que no caso aqui ele tá setando o meu ambiente aqui
eu tenho a ação que eu coloquei ó onde executo o comando Eco hello world e aqui ele tem aqui o a etapa de de complete onde ele Vai encerrando ali as minhas ações e aí no caso ele mostra aqui ó hello world então eu posso executar qualquer comando Shell aqui sem problema nenhum beleza Mas putz Eu não quero fazer isso né Eu quero eh criar aqui a minha automação não quero simplesmente colocar um Hello load então Vamos criar aqui a nossa pipeline de ci completa então eu vou voltar aqui no código certo e agora vou
voltar aqui pra edição eu vou fazer o seguinte eu vou vir aqui no editor que que fica melhor né para isso eh eu vou vir aqui ó e atualizei aqui vai aparecer logo aqui em seguida cadê Aqui ó o github workflows Main Ó lá ele já mostra aqui para minha estrutura né e agora eu vou fazer o seguinte cara eu quero continuar aqui a minha etapa né a construção da minha pipeline mas eu não quero ficar executando o comando n eu não quero ficar executando o comando Shell o github Actions ele tem né o conceito
de Actions né por isso nome né G Hub Actions Actions né vamos vamos vamos entender aqui o por O que que é uma Action A Action ela é um bloco de código um conjunto de código que é executado de forma encapsulada aqui no meu na minha etapa aqui da pipeline e como é que eu sei disso tá se a gente vira aqui na edição aqui ó vou botar aqui no github vou voltar aqui e vou vir aqui no código m no nosso código aqui se eu botar para editar Aqui você vê que aqui ó ele
abriu aqui do lado um Marketplace de Actions E aí se eu vir aqui e procurar por exemplo aqui ó checkout que é a Action que a gente vai utilizar ó é um é uma ação Onde eu pego o código de um repositório se eu clicar nesse cara ele vai mostrar aqui ó para mim uma estrutura de emo que eu consigo utilizar para declarar uma ação aqui no meu repositório então se eu pegar esse cara e colar aqui no meu código né aqui ó Nessa estrutura olha só que legal eu tenho a declaração aqui no iemo
mas olha como é que ele é diferente eh aqui ó que ele tem um aqui eu coloquei um Run aqui ele usa um tal de uses olha só que legal esse uses ele representa é aonde tá esse código que vai ser executado de forma encapsulada se eu vir aqui ó no no detalhe aqui na documentação dessa Action aqui ó View full Market Place list ele vai mostrar aqui ó a documentação né dessa Action e aqui eu tenho ó olha só que legal eu tenho um repositório E aí olha só você vê que esse repositório aqui
ele representa essa Action que eu declarei aqui que eu vou executar e ele vai executar um código que tá aqui nessa nesse repositório E aí eu não vou entrar aqui em detalhes e tal sobre isso porque dá para você criar uma Action dá para você fazer aqui cara um monte de coisa mas o que eu tô querendo te mostrar eu acho que isso gera dúvida de muita gente eh você pode criar as suas próprias Actions publicar no Marketplace do github Action e a criação dessa Action pode ser qualquer linguagem de programação tá igual por exemplo
essas Actions aí estão usando typescript Mas pode usar rub Python e o que for necessário você vai encontrar muitas dessas Actions que são criadas aí com python e com node porque são duas linguagens fáceis para você poder fazer essas então dá uma olhadinha depois aí nos códigos Fontes que não é difícil você criar uma Action você pode criar uma Action privada que somente vai ser usada Ali pela sua empresa você pode deixar essa Action pública aí no Marketplace até mesmo ela pode ser pública mas ela não tá publicada ali no Marketplace tá então eh uma
das grandes vantagens aí de usar esse Git reac é justamente criar essa comunidade deixar isso bem aberto para que todos possam contribuir e é por isso que a gente tinha antes aí o próprio jenkins que dominava o mercado e a gente pensa assim ah não precisa mais surgir Nenhuma ferramenta de automação porque o jenkins já dominava ó foram surgindo e o github o gitlab ci a ferramenta lá do B Bucket github e Action mas o github Action é o que mais se destacou justamente por deixar essas coisas abertas pra comunidade né bro não é isso
Exatamente exatamente e assim é legal que você falou de código né você falou de código e tal mas basicamente eu posso criar uma Action de três formas diferentes tá eu posso utilizar código e aí você pode utilizar JavaScript você pode utilizar Python você pode utilizar Shell script esses três são os mais clássicos tá são os mais utilizados ah Fabrício mas eu não posso utilizar por exemplo go eu adoro go pô O Wesley me ensinou go Agora eu quero fazer tudo em go que é uma maravilha você pode fazer em go mas inclusive você pode por
quê Você pode utilizar sua Action para exec executar sua Action um contêiner você pode utilizar linguagem você você pode utilizar contêiner e você pode criar workflows você pode criar workflows também para representar uma Action dá para você fazer isso também tá então tem diversas formas mas o que eu queria te mostrar aqui é que nada mais é do que um bloco de código tá eh sendo encapsulado num arquivo emo para quem vem do mundo de infras code para quem saca um pouco mais desse mundo é uma Action é mais ou menos um módulo né no
no do anb é como se fosse um módulo ali do anb tá e a ideia é mais ou menos a mesma A diferença é que no anb ele usa Python né O O anb ele é pyth mas a ideia é parecida tá eh parecida então aqui o que que eu vou fazer eu basicamente eu vou utilizar aqui essa Action para pegar o meu código E aí documentação cara documentação você quer entender mais sobre uma Action você vai aqui na documentação normalmente você tem aqui uma estrutura Inicial certo e aí basicamente eh você vai ter aqui
tá eh a declaração da Action e aqui os parâmetros caso você tenha que passar no caso aqui a gente não vai passar nada por quê Porque eu vou pegar o código do meu próprio repositório então não vou colocar aqui nada porque a já vai entender que eu vou pegar esse repositório certo agora que que eu vou fazer aqui Putz beleza peguei meu código agora eu tenho que construir essa imagem da minha aplicação pô Fabrício tem uma Action para isso claro que tem Claro claro que tem eu vou até fazer o seguinte eu vou abrir aqui
né aqui na na minha tela deixa eu abrir aqui na minha aqui no no Browser eu vou abrir o próprio Marketplace tá do das Actions para ficar melhor da gente editar Eu não eu não vou editar aqui porque fica muito pequeno e tal fica aqui ruim de editar mas eu vou pegar aqui no Marketplace tá de Actions do github e a gente vai botando aqui no nosso código no vs code fica melhor de visualizar então se eu vir aqui ó e procurar por docker olha só que legal eu tenho várias Actions aqui criadas pela docker
para poder trabalhar com docker no meu repositório então primeira coisa que eu vou fazer né Putz A gente tá criando aqui um uma imagem de contêiner a primeira coisa que eu vou fazer já que eu vou colocar lá no meu regist né no meu Dock Hub é autenticar o meu usuário pra galera saber que eu sou eu né pro doc saber que eu sou eu para poder subir a minha imagem e aí Olha só eu tenho aqui docker login então pego esse cara docker login né ven aqui e agora eu já verifico aqui ó a
estrutura aqui ó o exemplo que eu já tenho aqui ó Prontinho para eu poder utilizar esse cara aqui então eu pego esse em né aqui esse tem um spoiler aqui n acabou que né T aqui um spoilerzinho mas não tem problema né já ia chegar nele mesmo não tem problema né Faz parte né Queria fazer aqui um né um drama e tal mas não tem problema suspense suspense aqui e tal mas tudo certo eh Vou colocar aqui e lá ó eu já tenho aqui né o meu o meu a minha Action aqui criada né aqui
login do docker HUB tem aqui a Action e aqui são os parâmetros ó lá o username e o password mas Fabrício que parada é essa aqui que que é esse negócio esse negócio diferente que tá aí né que que acontece aqui como a gente tá trabalhando com usuário e senha e Putz isso aqui é um arquivo texto Isso vai ser versionado né no meu reposit jogar a jogar a senha hardcoded nisso aí né Ah quem nunca cara quem nunca Pô ô quem nunca Poxa quem nunca botou uma chave de api no repositório Ah cara que
isso que isso cara será que se colocar a senha ali e será que o bote do github envia o e-mail já pra conta da pessoa falar que a senha tá exposta é uma boa pergunta né e não nunca testei com uma senha assim e uma senha aleatória mas assim tem algumas Sen por exemplo a a chave o token da aws ele segue meio que um padrão né token e outros serviços já conhecidos Eles seguem meio que um padrão E aí o bot ele avisa ele não deixa comitar Inclusive eu já eu já fiz esse teste
eu já fiz esse teste eu peguei um token lá da WS meu desativado tentei comitar e ele ele grita ten outras verificações também que eh ele identifica outros padrões quando você Acrescenta alguma coisa que ele vê que é alguma coisa que tá sendo exposta ele te enviu e-mail ali falando olha repositório tal pode ser que essa você tá expondo uma credencial ali e tudo mais ele te dá dicas do de como eh resolver obviamente tirar né tem que tirar aquilo ali é é exato Exatamente exatamente bom e aí o que que acontece aqui tá eh
como eu não vou colocar minhas informações secretas aqui né direto no meu código eu vou utilizar o cqu Né o Secret é um recurso do github que eu armazeno dados sensíveis né direto aqui no meu no meu repositório E aí eu utilizo essa expressão aqui e obtenho aqui o valor né o que eu armazenar lá no meu Secret vai trazer para mim nada mais é que elemento chave e valor que eu vou armazenar num local seguro e para fazer isso eu venho aqui né no meu repositório e eu vou vir aqui em SS tá e
vou vir aqui em Secrets e variables certo aqui em Actions e eu vou definir aqui ó o meu repository Secrets e aí venho aqui adiciona ó minha secret aqui meu minha chave meu valor certo então pego aqui né copio colo aqui né E aí aqui no caso eh o username não tem problema nãoé vou botar aqui Fabrício Veronez é não tem problema bota aqui ag a senha é mas calma calma Vamos chegar lá agora você vai esconder sua tela sua tela Calma isso aí mas aqui ó antes de eu de eu botar minha senha olha
só que interessante eu armazenei aqui o meu repository Secret ele bota aqui que eu tenho um Secret armazenado e olha só ele deixa eu atualizar editar e remover mas aí não deixa eu ver isso aqui é muito legal e agora é claro né eu vou puxar aqui pra minha outra tela né e eu vou armazen eu vou vou botar aqui a minha senha enquanto você tá aí colocando a sua senha eu vou jogar o primeiro q code na tela então atenção Pessoal esse CR code Vale pontos para você poder concorrer aos prêmios que vão ser
sorteados ali no domingo que nós vamos fazer a Live divulgando quem foram os melhores ranqueados você tá concorrendo aí a cadeira game bolsa no curso full pych Kindle Alexa livro do cin code acho que tem esse prêmio tamb enfim tem vários prêmios o os melhores colocados vão ganhar esses prêmios e vamos jogar então CR code na tela tá eu vou deixar alguns segundos esses codes não vão valer depois tá então fique ligado nisso Lembrando que os desafios que nós já publicamos um na terça e vai ser outro na quinta é os que valem mais pontos
tá então vamos lá qu code na tela Prepare os celulares escanei ainda tem mais um q code que eu vou soltar no momento aleatório aí da Live Então vamos lá vou contar 20 segundos eu quero causar aflição ó Enquanto isso o Gabriel perguntou se daria para usar um cofre de segredos tipo valt pode dá para você integrar pronto q code doar vol de volta aí sua tela pode mandar ver show Beleza então aqui ó adicionei o username beleza e aqui agora eu vou fazer o seguinte eu vou vir aqui tá e vou botar agora né
O meu a minha Action que vai construir a imagem construir e enviar a imagem aqui baseada nesse docker file então agora venho aqui eh de novo cadê a minha a minha lojinha de Actions né vou voltar aqui né A minha lojinha de Actions e eu tenho aqui ó o build and push docker images certo aqui ó beleza E aí mesma coisa vou pegar aqui ó você vê que cara é muito parecido inclusive olha só que cola maneira ele já entrega aqui ó bonitinho ó com docker login parada toda aqui né Tem diversos exemplos aqui a
documentação ela é muito completa vale a pena você dar uma olhada aqui tem como você customizar Cash tem como fazer aqui cara e dá para você utilizar muita opção muita opção tá então assim eh a eu quero saber mais detalhes sobre cada Action como é que eu faço cara documentação é impossível você ver em algum lugar todas as opções de uma de uma Action tá a não ser a documentação tá então vamos ver aqui deixa eu pegar esse cara cadê Aqui o nosso exemplo tem aqui ó eh aqui esse exemplo certo eu vou utilizar esse
carinha e eu vou colar cadê Aqui tá Ah aqui botar aqui certinho beleza build and push certo e aqui no caso eu tenho que colocar os parâmetros corretos né E tá me mostrando aqui eh os parâmetros né que é o contexto o push a tag eu tenho que preencher aqui correto exatamente o contexto é o contexto do comando lá docker build Qual o diretório que eu vou enviar pro docker demmon para ele construir para mim a minha imagem no caso aqui eu vou passar esse diretório src Então já vem aqui ponto barra src beleza E
no caso push É para subir a imagem né para subir pro repositório E aqui as tags né os nomes das minhas imagens né que eu vou subir no caso eu vou botar aqui porque eu vou subir duas imagens eu vou subir a Fabrício Veronez eh barra eh conversão traço temperatura e aí eu vou botar aqui diferente eu vou botar um traço FC de full cycle né porque é uma imagem que eu utilizo muito então vou botar aqui só pra gente ter ali um repositório diferente E aí eu vou colocar aqui a latest porque é a
última versão tenho que subir a última versão da imagem né eu tenho que subir a lates e aqui eu vou subir de novo com uma tag diferente só que que que acontece de novo de novo aqui se eu colocar aqui sei lá V1 da vida aqui que que vai acontecer ele vai sempre subir ali a imagem né com v1 com a tag v1 eu não quero isso eu quero algo que seja mutável né que ele mude cada vez que eu executar ele suba um valor diferente porque eu tenho que criar ali sempre uma uma imagem
nova a minha imagem ela tem que ser imutável subir uma vez não vou alterar né então aqui no caso eu vou utilizar uma outra variável do github Actions chamando aqui ó Pela expressão eu vou utilizar o github certo pon Run Number certo que que esse cara vai fazer ele é um acréscimo ele esse valor Esse número é sempre acrescido né quando eu executo a minha pipeline quando eu executa aqui o meu workflow então ele vai sempre incrementando né e ele vai sempre adicionando então aqui beleza Outro ponto também que é importante eu colocar aqui né
o meu file certo que vai ser o meu docker file certo então venho aqui file vou botar o ponto barra src bar docker file beleza botar aqui o docker file que ele vai utilizar E aí aqui terminei a minha pipeline deci eu venho aqui subo aqui né vou subir aqui e vou fazer o commit vou botar tá aqui eh pipeline DCI certo beleza adiciono fiz aqui o meu commit se eu vir aqui agora Actions Ó lá ele tá executando vamos lá vamos lá ele vai fazer aqui o ci ó lá ele tá fazendo aqui a
construção á el fez toda a construção certo e aí vai lá deixa eu ver aqui no caso acho que aí já executou ó lá já até executou Se eu vir aqui agora deixa eu abrir aqui uma outra janela botar aqui a minha senha e tal lá no Dock Hub certo vou botar aqui vamos lá deixa eu botar aqui ahã aqui ó conversão temperatura full cycle aqui ó ele vai ele botou aqui a tag do né porque eu executei pela segunda vez conforme eu fi executando ele vai ali né Sempre eh fazendo aqui a aqui a
o incremento né vai adição aqui da execução e eu vou criando versões novas da minha Imagem Beleza então a pipeline deci a gente já fez mas só para você ver aqui um ponto importante é o seguinte eu vou adicionar aqui um comando bem simples Tá vou criar aqui uma nova Action eu vou chamar aqui name eu vou botar aqui ó erro certo e eu vou executar aqui um comando chamado L sabe isso mas não existe esse comando L É eu tô fazendo de propósito Vou botar aqui ó erro botar aqui erro vou comitar e aí
o que que vai acontecer ele vai Executar a pipeline ele vai executar ah lá ele vai executar mas essa Action eu coloquei aqui ó erro ela vai dar errado ela vai dar erro lá e olha só que legal deu erro aqui na minha rotina na no meu fluxo ele não continua por quê Porque uma daquelas validações que eu posso botar de teste de qualidade e por aí vai não passou e aí cara não vai cara não segue o fluxo ou seja se eu tiver qualquer problema aqui na minha pipeline na minha automação aqui para para
entregar o meu software ele não vai seguir ele vai parar e brother acerta esse negócio aí brother Fala Luiz conserta esse bug aí Sacanagem mas assim Ah cara acerta Isso aí entendeu para poder subir e aí se eu vir aqui ó botar eu vou botar aqui o LS tá Vou botar aqui um LS só pra gente ver tá botar aqui ó listagem Depois eu apago mas eu botar aqui ó e aí né eu venho aqui e boto ó mensagem ó faz certo que dá certo ó lá aí eu venho aqui adiciono dou um comite né
se eu viro aqui ó lá faz certo que dá certo ó lá dá o c beleza ele vai executar ó lá funcionou listagem foi aqui o LS ele vai listar aqui né o diretório Mas beleza Onde tá o LS aqui cara vai ser a sua execução de teste de unidade seu Scan de vulnerabilidade E por aí vai tá eu quero te dar aqui opções para você entender o que você pode fazer beleza bom ok então a gente conseguiu fazer a pipeline deci falta agora o CD que é fazer o Deploy no ambiente eu tenho aqui
tá um cluster kubernetes se eu vir aqui ó Cub C get noes né eu tenho aqui um cluster kubernetes rodando ah Fabrício esse cara tá rodando aonde por acaso ele tá rodando no é ele tá rodando aqui no aks né o o Esley me emprestou aí o cartão de crédito para eu subir um cluster aqui pra galera né peguei aqui Peguei lá o cartão do Full cycle full cycle Card e coloquei aqui um cluster kubernetes para mim tá E aqui no caso Cub CTL get Notes Ah não é Cub CTL get pod tá aqui ó
tá lá rodando e aqui nada não tem nada rodando a gente vai utilizar esse cara aqui para fazer o Deploy da aplicação Então vamos lá né a estrutura aqui é a mesma que a gente já fez eu vou criar um Job eu posso até pegar aqui ó fazer um copy em paste aqui ó e só mudar aqui o nome né aqui ao invés de C cadê Tá alinhado tá eu vou botar CD certo e aqui vai rodar também no bunto e aqui tem um ponto muito importante que eu tenho que colocar eu tenho que definir
aqui ó que esse Job esse Job aqui ele depende do Job de c Por quê Porque o job por padrão ele roda ele roda da em paralelo os Jobs eles vão sempre ser executados em paralelo quando eu não defino isso eu vou até fazer aqui o seguinte vou botar aqui vou comentar e eu vou botar aqui uma Action qualquer botar aqui name e exemplo certo e aí eu vou colocar aqui um Run Eco teste certo e vou botar aqui teste tá e vou fazer o comit se você olhar aqui aqui aqui na execução ó Action
se eu botar aqui em teste Olha lá cadê Aqui ó você vê que os dois eles estão sendo executados eh em paralelo você vê que o CD Claro foi mais rápido né porque eu tô tinha nada e aqui tá demorando Agora imagina se eu deixo rodando em paralelo como é que eu vou fazer um Deploy no cluster kubernet de uma imagem que ainda não tá pronta né não posso né Não dá para fazer isso então eu coloco aqui o needs né E aí se você olhar aqui né E aí vamos lá ó faz certo que
dá certo eu vou botar o dois cadeira tipo tem que vir primeiro a o ovo para depois vir a galinha não pode exatamente pode na verdade será aí que entra no dilema né mas enfim é basicamente essa a ideia exatamente Então vem aqui Actions faz certo que dá certo dois aí você vai ver lá ó agora a pipeline de CD só vai ser executada se a pipeline de ci for executada se der erro na pipeline de ci ele nem vai aqui na decidir não vai não vai seguir entendeu então vai segue aqui então vamos lá
beleza então coloquei aqui agora eu vou fazer todas as etapas aqui para garantir o Deploy da minha aplicação primeiro eu já posso copiar aqui o checkout né Já Posso copiar aqui o checkout copiar e colar aqui dei até aqui um negócio ó dei esse exemplo aqui não precisar deixar eu vou tirar a listagem aqui também certo e eu posso vir aqui tá beleza e aqui eu já vou fazer aqui o o checkout Tá e agora eu vou fazer o seguinte eu vou botar aqui o nome o name e agora primeiro passo aqui para fazer o
Deploy no kubernet é configurar o kubernet né configurar o meu arquivo de configuração né o o meu arquivo no o Cub config aqui para poder acessar né o Cler kubernetes e fazer o Deploy Então eu tenho que pegar aqui o conteúdo do meu arquivo certo e tá aqui né esse arquivo aqui abriu no no vest code aqui na minha na minha outra tela ó eu tenho que pegar esse conteúdo e colocar lá para setar o contexto Então agora que que eu vou fazer eu vou vir aqui e vou procurar uma Action para isso né então
vamos lá vou vir aqui em Actions e eu vou procurar aqui kubernetes kubernetes você vai ver que muitas vezes você coloca aqui ele não aparece mas aqui no caso ele apareceu e aí a gente vai utilizar esse kubernetes aqui tá kubernetes set Contex e vamos setar aqui o contexto ah Fabrício Mas putz pera aí você tá fazendo isso com uma Action do e pô eh por acaso aqui eu tô usando um eure Tá mas caso você queira eh fazer o Deploy do seu cluster kubernetes sei lá da digital otion e do Google e por aí
vai e você tiver esse arquivo aqui você pode utilizar essa essa mesma Action que eu tô utilizando aqui tá esse kubernet 7 context ele vai funcionar da mesma forma se você quiser utilizar o específico do aks específico aqui do do serviço de kubernetes do EDGE você pode utilizar aqui ó o aks que vai aparecer aqui ó Deploy Cadê não eh aks deixa eu pegar ele aqui não esse aqui foi o que eu acabei de pegar certo Não esse aqui é o de Deploy vamos ver é que eu falei tá vendo como é que ele às
vezes ele não aparece o o não aparece aqui na listagem aí tem que procurar aqui deixa eu ver kubernetes vamos ver aqui ó tem um set aqui ó tem um set Contex que funciona para qualquer cluster kubernetes com aquele arquivo Ou você tem aqui ó o eg kubernet set Contex aí esse aqui é exclusivo do tá se você tiver utilizando a WS Google tem também os específicos para el caso você queira Mas esse cara aqui é genérico Tá então vamos pegar ele aqui e aqui ó tem a colinha Que el me D eu vou vir
aqui e vou colar lá no meu aqui no meu meu Job certo boto aqui e aqui no caso esse cara não precisa e aqui no caso Cub config que que eu vou fazer é um dado sensível não vou colocar aqui o meu arquivo Cub config eu vou vir aqui de novo e vou trabalhar com Secrets e aí eu chamo aqui ó k8s Opa k8s und config E aí né Pego aqui o nome vamos lá cadê cadê cadê vem aqui em SS Parará Actions ah criar no repositório colo aqui ah cadê agora pegar lá o meu
arquivo pá colo aqui e aí beleza é de tudo certo e aí ele já vai configurar aqui o meu kubernet agora vamos executar o arquivo de Manifesto vamos executar aqui o Deploy e eu tenho né você já viu ali junto comigo eu tenho a uma Action para isso também que também é do Mas você pode utilizar Sem problema nenhum funciona com qualquer Cler kubernet que é o Deploy kubernet Pego aqui mesma coisa vou vir aqui cadê o exemplo aqui ó ele mostra aqui o o exemplo mas eu não vou usar essa estrutura toda eu vou
vir aqui ó no meu arquivo vou colar e aqui eu vou identar beleza dessa forma dessa forma e aqui eu tiro tá vou tirar aqui vou tirar aqui o cluster certo ah deixa eu botar aqui o parâmetro corretamente Vou colocar aqui o arquivo de manifesto que eu vou usar que no caso é esse carinha aqui ó deployment pemo eu posso inclusive vir aqui ó clicar no no arquivo botar ó copiar caminho relativo eu gosto de fazer isso né porque faz acho que tem gente que não tem experiência com Yo e quando você coloca o Pipe
ali na frente quando você precisa eh de colocar muitas informações EA ficar uma linha muito grande então o Pipe permite que você eh coloque as informações uma por linha que fica muito mais legível né porque às vezes você estica a linha ali De certa forma que é ficar muito ruim então não é nenhuma invenção do que teub Action é é faz parte da sintaxe do próprio emo ex é não isso é importante assim eh nada disso aqui essa estrutura né que é declarada aqui nada isso disso é inventado no github Action eemo né É claro
o campo os valores que você coloca são e específicos do github Action ah FAB se eu pegar essa estrutura de emo aqui e colocar no gitlab vai funcionar não porque por mais que o gitlab também seja emo Putz o modo de declarar é totalmente diferente eh o ure devops Né o ure é muito parecido porque por debaixo dos panos né o github Actions ele roda o mesmo motor do pipelines então é parecido mas tem também as suas diferenças e aí aqui coloquei o Manifesto do kubernetes né o meu arquivo e aqui eu tenho que declarar
Quais são as imagens que eu vou alterar né quais imagens que eu vou trabalhar important você colocar a imagem Claro que tem a tag que é alterada claro né e e também o seguinte você garantir que o nome da imagem essa parte aqui tá igual no Manifesto Então veja aqui ó conversão temperatura FC tá igual né então não tem problema eu pego aqui adiciono e boto aqui Deploy certo coloc aqui aqui oo aqui vaiar a disar gente vero aconte fazer oar aqui lado lado e a gente fazer aqui neci bem bacar aqui um execut get
pod vamos lá e lá ó ele tá aqui fazendo CD Ó você vê não tem recurso nenhum se a gente olhar lá ó já começou a criar lá executou E aí já começou a criar ó lá criou fez aqui o nosso Deploy beleza eu posso vir aqui deixa eu pegar aqui ó o bctg get all E aí aqui ó IP externo se a gente voltar aqui certo botar aqui eu vou ter a minha aplicação sendo executada ou não né vamos vamos ver se vai mas tem que tá funcionando verdade agora é agora é hora da
verdade é hora que Verê se P esse negócio aí que Fabrício falou realmente acontece vamos ver Às vezes demora mesmo tá esse o Serv aí demora um pouquinho aqui inicialmente Fabrício e eu vi uma dúvida relevante aqui eu queria colocar a dúvida do Antônio Lopes na tela e como que seria um workflow com semantic versioning para fazer as releases é uma boa dúvida essa aqui você pode botar você você pode botar para você pode pegar tag do do seu repositório você pode pegar a tag inclusive você você pode botar aqui também no push eh cadê
você pode botar aqui ó na declaração do seu push aqui ó para ele pegar por tags aqui ó tá vendo ele só vai disparar caso tenha tag ali também no na tua no teu comit Ou você pode botar em arquivo não tem problema nenhum né normalmente eu coloco eu Fabrício eu coloco em tag E aí eu identifico tem a tag eu pego ali a tag e ele e ele egue show certo arquivo é complicado né porque pode não subir o arquivo e aí já era né mas tudo bem né então normalmente eu faço dessa forma
tá eh normalmente que que eu faço tá eh eu boto para verificar se tem a tag se não tiver a tag aí eu pego o Run Number porque aí eu eu considero que é uma imagem de desenvolvimento e tal E aí eu depois eu crio até uma regra para limpeza no repositório onde onde as imagens que contém aqui por exemplo tá eh dessa forma tá é nomeado dessa forma com traço Dev no final de tempos em tempos eu vou limando e aí eu deixo só as que são versão de produção vamos dizer assim pode criar
uma você pode criar um um um workflow para poder limar de vamos sup que você quer manter algumas versões durante um tempo você você tem isso aí né para poder fazer pronto dá dá para fazer isso dá para fazer isso dá para fazer isso sim eh Fabrício tem uma dúvida aqui do André que talvez seja dúvida de algumas pessoas ele falou assim ó essa app que Subiu aí eh no IP que você mostrou está rodando dentro do Git ou na imagem que foi criada acho que isso aqui é importante deve ter algumas outras pessoas também
com essa dúvida essa ação né Eh que eu botei aqui ela tá rodando no cluster kubernet então aqui no caso eu tô rodando dentro de um contêiner utilizando kubernetes que é um orquestrador de dentro da infa da ure não tem nada aqui eu não tô rodando no Git tá o Git é onde eu tenho o meu código meu código tá lá a minha automação tá lá agora onde é que eu tô rodando esse cara ambiente externo tá o o Git na Cloud o github ele não tem uma estrutura ali que você consegue subir a tua
aplicação como serviço tem o github pages mas assim é pr página estática é outra parada dá para fazer muita coisa não dá para fazer muita coisa dá para fazer muita coisa você pode montar um blog Brad você pode montar um blog ali baseado em arquivo esttico de boa mas assim não é para rodar aplicação tá é diferente para rodar tá ambiente de execução tipo sei lá um roco vamos dizer que tem um um um Git Git roco sei lá guit roco sei lá né não tem um negócio desse não tem né É no serviço de
nuvem você tem que ter um ambiente para isso tá agora vamos testar aqui galera pra gente encerrar aqui eh vamos encerrar aqui fazendo o seguinte a gente montou automação tá aqui funcionando bacana Maroto agora vamos vamos ver essa troca de versão aqui no quente vamos ver aqui o no quente essa coisa acontecendo que eu falei ah é fantástico automação validar tudo par acabou aquele papo de não sobe de parar todo mundo vamos ver isso na prática vamos pegar aqui eu vou deixar esse cara rodando aqui e eu vou fazer o seguinte eu tenho aqui tá
um uma extensão aqui no meu browser que fica fazendo refresh aqui Tá eu vou iniciar esse cara beleza e eu vou fazer o seguinte eu vou deixar el disparando e a gente vai vir aqui no código eu vou vir aqui no meu código e a gente vai fazer uma alteração eu vou pegar ele aqui aqui no View ó ó como é que eu sei fazer HTML cara pô esse HTML foi o que fiz ó maravilhoso só que não tá usando tá usando Wind no meio disso aí não tá não não tô usando Bootstrap não tô
usando Wind Ah tá usando Bootstrap É verdade Nossa quando eu olho por isso aí já é verdade Bootstrap tô usando não Bootstrap é rebuscado demais eu sou frontend cara eu sou sou uma negação cara frend eu sou uma tristeza aqui ó eu vou comite lá que que eu fiz aqui tá e eu botei aqui ó V2 então aqui vai ter que aparecer um V2 aqui tá pra gente saber que é a nova versão eu vou botar aqui ó V2 tá E e aí eu vou fazer aqui esse comit beleza vamos lá tá aqui beleza show
vamos lá e aí vamos ver aqui a mágica acontecendo certo aqui ó versão dois ele tá executando aqui ó o c e aí o que que tá acontecendo aqui eu tô pegando o meu projeto sendo executado no github Actions eu tô executando aqui o meu projeto certo aqui ó com c tô fazendo a integração contínua aqui já até acabou e aqui ó ele tá fazendo o CD agora ele tá fazendo Deploy no ambiente do é porque ele tem as credenciais tem lá o manifesto e tudo mais e aí aqui ó ele tá fazendo em algum
momento aqui ó vai aparecer o V2 certo vai aparecer aqui cadê vamos lá pá p p p pá vai aparecer aqui o meu V2 vamos ver ó lá calma aí vamos ver aqui vai aparecer mas em algum momento aqui vai aparecer o meu V2 certo por quê Porque eu fiz ali o deployer lá ó V2 certo então eu disparei a automação no Git Hub Actions e fiz o Deploy lá no meu ambiente do ure certo então aqui eu fiz todo o meu processo de c e de CD você vê que automaticamente a partir do comit
eu coloquei a nova versão do meu projeto em produção eh Fabrício eh dado uma dúvida que teve ali eu acho que tem muitas pessoas aqui né porque eh para determinadas pessoas isso aqui Pode parecer simples mas eu acho que para muita gente não é porque tem muita coisa acontecendo por trás até essa aplicação ser publicada aí na a você consegue pegar aí o seu whitebird do que você tem desenho ali claro e criar um um um vamos dizer assim um desenho do do passo a passo que aconteceu até chegar no kubernetes lá kubernetes pegar puxar
a imagem do vamos lá Hub eu tenho aqui o meu código né eu tenho aqui meu código código meu code aqui vou botar code para ficar mais curtinho e aqui eu tenho o meu cruster kubernetes Vamos fazer vamos contar aqui a jornada a jornada do código kubernet ali ó é vou vamos botar aqui assim vai ficar legal ó aqui vai ficar legal ol só eu cara eu te viia como desenhista eu sou olha ótimo com pipeline mas aqui ó aqui no caso eu tô rodando no eg tá aqui é eg tá Microsoft né isso Microsoft
aqui é minha máquina né aqui é minha maquininha local minha maquineta lá certo botar aqui send back vamos lá no cesão com 128 de memória ão é meu minha minha máquina meu meu minha máquina aqui da Nasa mas aqui ó tá aqui beleza aí agora vamos contar a jornada do código ao kubernet tá que que vai acontecer aqui primeiro passo que que eu vou fazer eu vou fazer o meu comite eu venho aqui e vou fazer o comite do código n aqui comite aqui o meu código que que vai acontecer aqui eu vou ter né
o Git Hub Actions certo que que ele vai fazer aqui né ele no a partir do comit eu vou disparar aqui né Opa fiz besteira aqui eu vou disparar o quê eu vou disparar o meu ci o meu continuous integration certo E aí aqui eu vou pegar esse código né e vou e vou criar a minha imagem Dock eu vou criar a minha imagem Dock que vai tá aqui eu vou botar aqui imagem doc certo vai tá aqui a minha imagem doc aí depois do C depois que eu fiz a integ contínua eu vou disparar
o meu CD que é o meu continuous deployment continuous deliver que é a etapa Onde eu pego essa relee e faço Deploy no kubernet em seguida vai vir para cá eu acho que até bom você falar Leon que gera imagem ainda você vai mandar ela para um outro lugar que é o do HUB vai mandar vamos até botar aqui também exato exato aqui vamos botar aqui ó eu tô no docker Hub n meu repositório de imagem lug outro lugar outro lugar tá é outro lugar e aí o meu CD aí vai ser disparado E aí
o meu CD ele vai falar kubernetes faz o Deploy dessa aplicação dessa imagem aí o kubernetes ele vai pegar essa imagem que tá lá no Dock Hub e vai fazer o Deploy Essa é a jornada do meu código kubernet certo e aí Putz Deu erro aqui em alguma parte das etapas aqui da hb da parada toda e aí o código não vai beleza e aí com comite a gente vê que eu mudei lá a versão da minha aplicação fui lá e botei para V2 E aí você repara que quando eu tenho a automação do CD
junto com Puts cara uma estrutura robusta uma arquit moderna Cloud docker kubernetes é uma aplicação um ambiente pronto para me dar a disponibilidade e recursos de deploys avançados eu consigo com uma automação fazer o Deploy da minha aplicação sem Down time nenhum você vê que aqui eu fiquei disparando uma porrada de requisições aqui e cara não teve problema nenhum E aí é uma coisa muito importante galera isso aqui tudo que a gente tá falando aqui isso esse conceito tem que tá claro para vocês porque o que a gente fez aqui foi replicar isso aqui utilizando
ferramenta cara poderia ser um gitlab poderia poderia ser no R ou melhor poderia ser na WS poderia poderia utilizar aqui uma outra ferramenta de de regist como o próprio ACR que é o container reg poderia ser o Nexus poderia ser o o próprio github tem o o github p próprio github exato exato exatamente poderia ser aqui qualquer coisa o que não vai mudar aqui é o código né O código vai ser o teu código aí que você tá desenvolvendo Talvez para muitas pessoas assim ol olhando esse kubernetes inclusive Aproveite dê uma olhada aqui no canal
que a gente tem muito conteúdo no curso full cycle também que você pode ver aí no link da descrição gente tem eh muito conteúdo sobre github Action sobre docker sobre kubernetes mas assim eu poderia publicar essa aplicação para não ter esse Down time e em outro lugar pode você pode usar a própria Air lá usa o container Services dela que é um serviço que não é um cluster kubernetes que você tem que manipular você tem um serviço lá posso publicar na digital Ocean sim você poderia ter essa mesma c e ali na aure você tira
a azure fora coloca digital poderia publicar no roco poderia publicar no roco A questão não é aonde você vai publicar não o Fabrício não tá querendo dizer que você tem que publicar na ég para tudo certinho A questão é que você tem que ter um processo de mais qualidade para poder entregar esse software tá espero que isso tenha ficado Claro porque às vezes o pessoal tá pensando assim Ah tem que mandar lá pra Ed tem que usar a cloud da Microsoft não necessariamente não necessariamente a questão é você ter essa esteira para você poder separar
aí a integração contínua depois o Deploy contínuo agora não interessa você tá publicando esse negócio na hostgator não tô querendo depreciar aqui mas é porque se você vai tender ali a ter umas hospedagens mais eh simplórias né Não interessa Onde você tá publicando esse negócio não importa a questão é que você tem que ter uma esteira se você quer entregar com mais qualidade tá não assim e aí vamos lá você até falou da Host gator Pô eu poderia esse a ambiente aqui poderia ser uma AVM ou acessando via SSH para fazer o Deploy pode tem
problema nenhum você pode fazer dessa forma também eh isso aqui é importante você entender o seguinte e aqui o importante é o conceito você vê que a gente fez aqui uma estrutura base Porque eu simplesmente fiz o bild de subir mas poderia ter execução de teste poderia ter validação segurança todas as automações que você puder colocar aqui para ter mais qualidade você pode E aí pode até alguém tá perguntando Putz Fabrício mas cara eu coloquei aqui né essa versão para ser executada aqui no meu cluster kubernetes e Putz passou por tudo novamente a gente falou
cara bugs acontecem né Você pode ter ali problema de bug e passou né porque falta de teste falta de cobertura enfim e deu problema aqui no certo Inter Pô eu posso como é que eu faço para fazer um rollback para voltar a versão anterior da minha aplicação ali fazer uma automação de rollback dá para fazer dá você consegue criar também uma pipeline para fazer rollback e ela vai ser disparada ali utilizando diversos critérios para voltar ali a aplicação aí ó o Dev já falou o rack pode ser automatizado pode pode ser automatizado é isso aqui
uma fabr tem tem uma uma coisa que pode fazer com HB ó e empresas maiores elas vão tender a fazer o seguinte eu acabei de publicar uma nova versão ali do software e a gente vai ter uma série de monitoramento em volta desse software se eu ver que o software tá apresentando Eh sei lá 5% de bugs ele já faz o rollback automático já porque eu tenho o que desfazer então é é a forma como você vai lidar com o holback depende do risco da sua aplicação da sua empresa do projeto Depende de várias coisas
então não existe um caminho linear Mas a questão é que quando eu vou fazer esse rollback aí e você pode fazer ele vi um comando na sua máquina você pode fazer com outras ferramentas aí vai entrar aqui o o a pergunta que eu vou passar pro Fabrício sobre argo CD e gitops também mas assim você vai ter ferramentas aí que vão te ajudar nesse processo e a gente não vai mais ficar tipo assim ah eu tenho que ir lá fazer matar tal coisa no servidor Poxa imagina num cenário de uma emesa igual o Mercado Livre
que tem 30.000 microsserviços não tem cabimento a gente fazer e essas coisas de forma manual a gente tem que ter ferramentas e boas práticas e um monte de coisas para poder auxiliar a gente nesse processo exatamente E aí e até respondendo Ah onde é que entra O argocd O argocd ele entra aqui né puts vamos ver aqui junto mas ele entra aqui dentro do do kubernetes tá dentro aqui do kubernetes eu vou ter o Argo tá e ele vai pegar ao invés de eu da minha pipeline de CD ela mandar esse comando pro kubernet para
fazer o Deploy que que vai acontecer a minha pipeline de CD ela vai alterar né O Manifesto colocando a nova versão da imagem lá no meu arquivo de manifesto né colocando lá num repositório e aí ela vai vir aqui e vai alterar o repositório certo a gente vai ter aqui um repositório com o manifesto que ela vai alterar e o gitops deixa eu até colocar aqui já específico o Argo né o Argo CD ele vai verificar a alteração no repositório e vai ele mesmo fazer a alteração o fluxo muda aqui um pouquinho tem algumas alterações
aqui no fluxo mas cara no final a gente tá falando de alterar ali o a nossa origem né do da aplicação né o nosso Ponto Central ali da de Deploy E aí ele vai lá e faz isso para mim certo inclusive o arcd conteúdo também que a gente tem no curso full psycle né dê uma olhada aí porque eh eh Inclusive essa esteira toda aqui a gente monta lá dentro do curso full cycle você aprender isso com eh muitos detalhes Fabrício eu queria eh chamar aqui uma dúvida O TV Ferreira já tá fazendo essa pergunta
já tem ali um um tempo ele tá com dúvida el se interessou vamos supor que ele tem aí o kubernetes num on premise da vida como que ele faz para expor esse acesso remoto ele quer acessar o kubernet da máquina dele lá no one premise o que que ele teria que fazer você tem duas opções você pode eh no caso a tua máquina tem que tá acessível à internet tá você o o Git Hub tem que ser ele tem que conseguir acessar o seu cluster kubernetes você vai utilizar a porta de acesso do do você
vai utilizar aqui a porta de acesso do seu eh do seu Cub CTL ou melhor do seu api server tá você vai ter que abrir a porta dele né expor essa porta e e o github o github Actions aí vai ter que ser vai ter que ter acesso Se não me engano a porta padrão do API server é a 6443 tá se eu não me engano é essa porta mas aí depende da configuração do seu custer kubernetes tá eu comporto sou meio péssimo deixa eu até confirmar aqui tá mas se não me engano é 6443
e deixa eu ver aqui ou tá tem e tem um outro ponto também é 6443 ou a https né no caso aqui você vê a 443 né aqui no caso é https aí tá indo para 443 mas pode ser a 6443 também tá eh ou você pode utilizar um um self Runner tá você pode ter um próprio agente de exec S do github configurado no seu cluster kubernetes e ele vai fazer esse processo né ao invés de usar o Run aqui do github certo ao invés de usar esse cara aqui né deixa eu deixa eu
botar aqui cadê ao invés de você usar aqui o Runner que a gente coloca aqui que é o o bun lat tal eh você vai colocar um agente seu um um self Runner E aí ele vai fazer essa comunicação com o github Actions mas é um tópico mais avançado tem tem algumas coisas que você vai ter que fazer dá para utilizar o queda para escalar e tal mas aí é putz é é é mais avançado isso tá dá para fazer tá dá para fazer tranquilo e eu acho que de outras dúvidas aqui não não temos
mais dúvidas eh relevantes aqui deixa eu ver se tem mais alguma coisa não seria essa tem a dúvida aqui do Lucas Fernandes me Pintou uma dúvida aqui eh no Manifesto de do kubernets como faz para apontar para o Deploy de um mini cube k3s K3 kind enfim Então nesse caso aqui né do do kubernetes desse desse cenário aqui nosso do github Actions se tiver na sua máquina local você vai ter que utilizar eh caramba eu esqueci o nome agora é uma ferramenta que faz um túnel de que um túnel Que expõe a sua uma uma
a sua máquina na internet é inrock o nome e se não me engano é inrock n rock é exato ele ele faz isso Tá Mas por padrão você não consegue por quê Porque só o seu cluster kubernetes ele tem que tá acessível na internet no caso aqui do kit Hub Actions senão você teria que ter um self Runner rodando na tua máquina para poder fazer isso e um ou outro um Runner aut um gerenciado por você para isso certo quando a gente fala que inclusive Hum fala é inclusive da dá para para quem quiser ter
uma máquina se tiver uma máquina aí com um pouco de recurso não precisa nem ter tanto recurso assim você consegue rodar o giub Action local né você consegue baixar ele aí e fazer uma emulação eh assim um pouquinho grande mas dá para fazer esses essas brincadeiras né é assim eu eu Para na nesse caso eu eu eu gosto sempre de eu gosto sempre de utilizar esse ambiente mais de nuvem que é o ambiente que eu vou trabalhar entendeu a não ser que eu tenho que fazer um setup local e tal Porque assim aqui no caso
[Música] eh aqui no caso a gente tá falando de kubernetes beleza o custo é é alto depende porque assim se você tem aí um terraform da vida se você utiliza um script para criar Beleza você consegue depois destruir e você paga muito pouco né eh e aí galera essa mentalidade de automação tem que tá ali em várias coisas na sua cabeça né eu Puts eu assim eu eu penso em processo Eu já penso em em automação com pipeline então por exemplo Ah eu vou criar o meu cluster kubernet no ure Mas eu posso ser cobrado
porque vai vir na minha fatura e tal cara cria uma Action cria uma um workflow e agendado para todo dia meia-noite ele deletar tudo do seu da sua conta da EJ eu faço isso porque aí no máximo eu vou ter algumas horas ali que eu esqueci de desligar alguma coisa e ele vai fazer isso lá para mim então assim eh eu tenho que você tem que ter essa mentalidade Entendeu cara você utilizando as estratégias corretas de infraestrutura como código automação você consegue montar esse ambiente de Estudo sem problema nenhum eh para você trabalhar e para
você estudar certo então assim eh é utilizar a cabeça cara é realmente utilizar a cabeça para você ter ali o máximo o máximo com mínimo de recurso certo e assim aqui eu tô usando Mas você poderia est utilizando a digital otion para isso que é bem mais barato e tem alguns serviços de cloud do próprio ure que você não paga Como por exemplo o o no agge web web App ele tem uma camada ali gratuita que cara eh eh ele você vai gast você tem ali acesso de 60 minutos por dia cara para tu fazer
um teste desse eh 60 minutos é mais que suficiente É e tem também a a WS eu não sei se eles fornecem você cria uma conta lá eles te fornecem eh do meses de free Tier Google Cloud uma nova conta eh te fornecem 00 enfim é é é criar ambiente locals vees vale a pena para você poder fazer coisas mais rebuscadas mas a a a facilidade a praticidade de você já pegar algo Pronto né poxa você quer ficar configurando algumas coisas na sua máquina para poder estudar Ou você já quer usar algo pronto que inclusive
já vai te dar até o conhecimento de como que essas plataformas funcionam é assim eu tenho eu tenho um repositório meu pessoal principalmente assim quando eu vou dar aula para aqui para vocês e tal eu tenho lá um repositório que é o meu catálogo de de infras code Eu tenho um catálogo de terra de código terraform para montar diversas infraestruturas de nuvem quando eu quero trabalhar fazer um laboratório quero fazer alguma coisa assim entendeu eh e aí cara puts Ah tenho que subir um ambiente Beleza vou lá Terra for apply pá ele vai lá cria
para mim ah acabei terraform Destroy pá acabou beleza e eu tenho novamente eu tenho lá um workflow que deleta todos os meus recursos na nuvem todo dia meia noite então assim cara eh eu sei que aí vai destruir inclusive já tive problema de Tipo eu tava dando aula pra galera a meia-noite E aí tipo fazendo a parada e tal pá do nada caiu tudo gente Caraca que que houve aí eu lembrei P pá não sei que e tal mas acontece acontece eu publiquei aqui ó é para quem quiser dar uma olhada é um projetinho bem
legal chama act você consegue rodar as github Actions locais ele vai acabar criando ali uma máquina virtual você consegue rodar enfim eu não lembro dos requisitos mas dá uma olhadinha ali porque ele pede alguns recursos da sua máquina aí mas não é nada exorbitante agora tem uma dúvida que eu achei interessante aqui do Rogério de Souza ele falou assim ó vejo muito se a CD para Cloud mas tem muitas empresas que não possuem recursos em Cloud e Recursos físicos locais em seus data Centers seria interessante que uma live ou um Git para esse fim é
isso aqui é uma dúvida muito boa porque vamos pensar o seguinte eh a gente tem repartições públicas repartições públicas vão tender sempre a não exporem a a os sistemas e e tudo delas elas vão ter os seus próprios e alugar os seus próprios ou ter os seus próprios data Centers né E aí exatamente por isso que a gente estava falando aqui de jenkins e várias outras ferramentas também o jenkins é muito utilizado por exemplo o mercado livre para ele não ficar preso em Cloud porque eh imagina que daqui a pouco ele quer fazer migrações você
pro mercado livre se ele arrumar 1% de desconto na hora de fazer uma migração 1% o Mercado Livre já vai representar ali Talvez um um se zeros né na na na economia Então você usando uma ferramenta que você não fica uma ferramenta de vendor É porque todas essas grandes clouds elas vão ter essa esses pipelines você não usando isso nem o github você pode usar uma ferramenta que você construiu ou uma ferramenta que já é como jenkins E você não fica preso então essa decisão que vai tomar de acordo com as necessidades da sua empresa
não é isso fa Exatamente é é assim é por isso que cara é importante é importante entender né que quando você pega uma Quando você vai escolher uma ferramenta você tem que entender se ela vai atender os requisitos do negócio tá por isso que eu falei cara importante é você entender esse Parana aqui é você entender esse conceito Ah pô FAB mas no github Actions eu tenho que que pô rodar local e eu não consigo fazer você pode colocar self hostage tá você pode utilizar também outra ferramenta que você consiga da selfhosted tipo gitlab o
gitlab ele tem lá a opção de você montar um gitlab dentro dele dentro do seu ambiente dentro do teu data center dentro do seu cluster kubernetes e cara repositório de código a parada toda você vai ter lá você consegue fazer isso com gitlab talvez dependendo do requisito do projeto o gitlab ele não vai atender as suas necessidades o github Actions aí não vai atender as suas necessidades quem vai atender é o gitlab e tá tudo certo né até o o Daniel perguntou ali se em relação ao curso né do se tem esse esse tipo de
pipeline aqui eu inclusive sou o instrutor da do Deploy do Cloud providers então tem lá cara você vai conseguir ver isso aqui exatamente a construção desse cenário pessoal aproveitando aí para quem e quiser conhecer o curso full cycle os outros treinamentos que a full cycle tem tem o link na descrição tem um formulário que você preenche pra gente poder te conhecer você vai ter você marca ali os interesses por exemplo você marca que você tá interessado no curso full cycle e você vai marcar um horário com os nossos especialistas eles vão ligar para você conversar
entender é o seu momento profissional quais são seus objetivos de carreira para de fato ver se faz sentido e até mesmo eh às vezes se o curso full cych não fizer é outra formação que a gente tem porque a gente tem curso full pych tem MBA tem várias outras formações e o Bruno Ferreira também falou ali ó se o Fabrício pode disponibilizar esse script que mata tudo vamos fazer aqui um desafio Fabrício Se ele puder disponibilizar todo mundo vai lá no Instagram dele passa o seu Instagram que eu vou passar aqui todo mundo acessa o
Instagram e pega o seu script se você puder liberar Claro não posso posso Vamos eu vou fazer melhor vou fazer melhor tá e a galera que tá aqui acompanhando manda mensagem lá no Instagram Me segue lá no Instagram me segue no YouTube que eu vou fazer uma live lá no meu canal explicando como fazer esse script bota aí que aí a galera vai para lá depois aí tá bom desafio ó é o seu Instagram é o mesmo que tá na aqui na tela né abon exato exato ex show de bola então tá aí eh porque
aí o Fabrício organiza direitinho né Se tiver alguma coisa ali que ele não possa eh disponibilizar mas a gente V arrumada lá no meu meu cenário e esse assunto aqui que a gente tá conversando pessoal é um assunto que é assunto de gente grande né assunto para quem quer ser um profissional de fato qualificado E acredite o que eu tô falando se a gente fizesse uma pesquisa no Brasil tá eh isso é a impressão que eu tenho de anos trabalhando com educação de conversando com empresas e alunos a gente pegaria uma parcela muito mais muito
expressiva das empresas brasileiras que tem produzem lá os seus softwares que não tem nenhum processo de ca e CD vocês se espantariam tá se a gente fizesse uma pesquisa então vamos pensar assim ó se a gente tem e eh um grande número de empresas que não tem isso significa que está faltando profissional nessas empresas que Tragam essa cultura que implemente esse processo então tem profissionais que nem tem conhecimento que ISO existe não sabe trabalhar com isso Ou tem medo acha que isso é perca de tempo e tudo mais então é uma baita oportunidade para você
poder ser o diferenciado Sabe aquela história que você se destaca quando você tá fazendo algo que outras pessoas não fazem Então tem um monte de profissionais que nem tem ideia que não sabem trabalhar ou que às vezes sabe ali C A CD mas não tá estudando você que está aqui agora tem a oportunidade de ver outras lives aqui lá no canal do fabr e no Instagram dele da full pych seguir a gente e tudo mais eh fazer maratona disso no final de semana em outros dias para ser esse profissional né E aí ainda adquiri o
curso full pych aí para você poder ter eh uma outra visão tenho certeza que essa Live aqui abriu a cabeça de vocês eu tô sentindo isso aqui pelo próprio chat vocês ficaram muito e felizes e e e interessados nesse tipo de assunto realmente é bacana né de você entregar os software acontecer toda essa esteira e você sabe que as coisas vão ser mais automatizadas o seu software vai ser entregue de uma forma melhor se acontecer qualquer problema a esteira Ali vai te avisar se acontecer alguma coisa também em produção a gente vai ter formas de
fazer a regressão disso e evitar que cause danos ali né que os usuários acessem com bugs eu tô fazendo um e-commerce da vida aconteceu qualquer bug eu já reverto continuo Mantendo as minhas vendas e enfim né é um assunto que a gente não pode negligenciar principalmente se você é desenvolvedor a gente falou isso lá no começo você tem que parar de pensar que você foi contratado na sua empresa para poder trabalhar com Java com node com typescript você foi contratado para resolver problemas e não foi só porque você foi contratado como programador que você vai
morrer programador dentro da sua empresa porque você tem que ser necessariamente programador é são essas visões que a gente acaba tendo que a gente acaba vai ficando na Mesmice desenvolvedor hoje em pleno 2024 tem que ser um cara que tem a visão do todo o mercado pede isso se você não for para esse lado você não vai ser um profissional que vai trabalhar com grandes aplicações você não vai ser um profissional que vai entrar nessas grandes empresas principalmente grandes empresas que a gente traz aqui no canal Mercado Livre Itaú conta azul e no Bank picpay
e enfim totos você tem que virar essa chavinha tá eh você tem que entender que você é um profissional que é pago para poder resolver problemas tecnologia é detalhe essa questão aqui da esteira de ca e CD e tudo mais isso aqui existe um monte de outras ferramentas você não precisa aprender todas essas ferramentas mas você precisa entender os fundamentos que é justamente o que o Fabrício estava passando aqui eh outras empresas em vez do github Action vai usar o github o gitlab c em vez da azure vai usar uma outra cloud da vida em
vez do Dock Hub vai usar um outro container H mas os conceitos de contêiner de pipeline DCI do vão ser as os mesmos né então não é você é especialista em github Action não necessariamente você precisa ser especialista github Action você precisa entender como que as coisas funcionam e é por isso que a gente tem essa Live tem o curso full pych porque essa é uma das principais eficiências do mercado até vou respirar aqui que eu nem tomei fôlego para poder falar isso não mas é É isso mesmo cara é isso mesmo é assim é
e e eu volto a dizer caraa não dá para você pensar eh só no que você codifica você tem que eu quero ser um profissional que eh define que consegue definir arquitetura de projetos de grande porte como a gente vê até o caso de vários convidados que apareceram aí galera Mercado Livre e tudo mais cara você pensar só na Você montar arquitetura de PowerPoint eh só montar al arquitetura de PowerPoint não vai ser o que vai te diferenciar você tem que entender você tem que eh saber como fazer a entrega você tem que participar do
processo entendeu e e e foi o que me fez gostar de devops foi o que me fez gostar me interessar tanto assim por devops criação de pipelines automações e eu curti tanto esse lado porque Cara eu vi o fluxo acontecendo sabe e Justamente que eu falei antes cara não ter medo de Deploy em produção você não não ter receio do seu projeto tá ser colocado no ambiente de produção bugs vão acontecer bugs vão sempre acontecer Tá mas quando você tem uma estrutura quando você tem um processo preparado para eh lidar com esse tipo de de
de problema cara você dorme muito mais tranquilo você putz você sabe que você tá eh trabalhando para fazer com que o mínimo de problema V em produção e que quando vá pra produção eh tem como fazer um rollback ou tem como resolver de uma maneira rápido sem você perder um fim de semana sem você ter que vir à noite e coisas desse tipo Maravilha pessoal então vamos lá agora pro segundo qu code deixei pro momento final então Lembrando que essa semana se você tá participando aí da imersão você está concorrendo a prêmios que os melhores
rankeados vão ser premiados então nós espalhamos CR codes durante as lives e também sobre os conteúdos que a gente publica aí pela manhã que é a construção da nossa plataforma de ingressos Lembrando que além dos CR codes tem dois desafios o primeiro já foi publicado na terça-feira já tá disponível muitas pessoas já entregaram eí já pontuaram e amanhã nós vamos publicar mais um desafio que vai ser Connect o primeiro foi com nest esse segundo de de amanhã vai ser conect os desafios é são os que contam mais pontos então você precisa scanear os CR codes
e fazer os desafios para você poder concorrer ali cadeira Gamer bolsa no curso full cycle aí você não vai precisar comprar o full cycle tem Alexa kind Clean code tem vários prêmios aí para vocês então vamos lá e esse outro qu code aqui ele está valendo 200 pontos tá só para você poderem saber aí deixa eu puxar ele aqui pra tela Então bora lá qrcode na tela vou dar alguns segundos para vocês poderem posicionar então leve isso a sério né a gente tá aí no meio da semana dá tempo ainda de você ver os vídeos
da imersão os vídeos ficam até segunda-feira à noite depois a gente remove e somente os alunos do curso full pych que ficam eh com esses eventos disponíveis inclusive todos os eventos que a gente já fez até hoje todos ficam lá com os alunos do curso a gente já fez sei lá uns 20 eventos diferentes aí bem mais então você pode assistir lá o quanto você quiser mas a gente deixa gratuito aí durante a semana então vou deixar mais alguns minutinhos alguns segundos aí para vocês pronto tirei o qrcode da tela quem escaneou escaneou quem não
escaneou vai ter que voltar o vídeo aí para poder scanear Tá mas Lembrando que esses k cod não adianta você voltar depois que a gente desativa Então você vai scanear e você não vai conseguir fazer a pontuação beleza Eh o acesso ao curso é vitalício sim então você vai poder contratar o curso e fazer no seu tempo não é uma formação formal lá reconhecida pelo MEC porque a gente tem MBA pós-graduação que aí sim é reconhecida pelo MEC E você tem o início e tem o fim mas o curso full cycle é um curso informal
né que você faz ali o quanto você quiser vai fazendo os módulos tem módulo de kubernetes tem módulo aí de de gitops tem módulo de argo CD módulo de integração contínua vai fazendo Conforme você quiser e não é uma maratona né e é é um curso que tem muito material você vai fazendo ali inclusive é bom até você fazer conforme as suas necessidades ah eu tô muito fraco em arquitetura tô muito fraco aí não sei o que que é integração contínua vai lá e faz implementa na sua empresa e tudo mais vai melhorando e etc
eh Dr Fabrício veron Muito obrigado PR estar com o senhor aqui mais uma vez Live top e sempre aí brilhante na na forma de explicar continue assim espero estar aqui com você mais algumas outras vezes com certeza você vai estar aqui na imersão e pessoal mande aí um parabéns pro Fabrício porque ele merece e um like para ele também né e acaba com o like vai pra gente então se você não fizer o like O Fabrício vai fazer uma uma integração contínua até a meia-noite que vai puxar o seu pé se você não deu like
ele vai rastrear aqui todo mundo que assistiu a Live e vai fazer um Deploy de um puxa pé eu Vai um fazer assim ó tá Tipo isso Tipo isso show de bola Car Obrigado aí pela participação Aí de todo mundo e até a próxima show de bola então grande abraço para vocês pessoal amanhã tem o próximo vídeo aqui do nosso estudo de casa ali da plataforma de ingressos que vai ser o frontend con next sou eu ministrando e sexta-feira tem o último vídeo que é integração de todo mundo que a gente vai colocar ali cong
frontend os backends tudo funcionando e amanhã nós temos mais uma live com a conta Azul tá essa Live da manhã à noite é vai ser muito legal também porque nós vamos trazer a conta azul para poder falar sobre eh a experiência deles de usar golang porque é uma empresa que usava majoritariamente Java e Eles mudaram muitas coisas para golang e eles vão mostrar um Framework que eles mantém internamente mas que eles disponibilizaram pra comunidade golang que é o Colibri que é um passarinho que é um Framework que tá crescendo muito e é bem legal aí
se você quiser construir as suas aplicações com golang ele já esse Framework aí tem a parte lá de web mensageria banco de dados eh algumas integrações com Cloud então não perca a Live de amanhã às 7 horas então grande abraço para todo mundo bom descanso e amanhã a gente está aí novamente Tchau pessoal até mais show de bola valeu