senhoras e senhores a partir de agora abundância na cadeira porque vai ter mais uma tal que sensacional aqui no platform end News 7 2023 agora mano É uma honra sensacional uma figura mano que eu sou fã assim conhece muito dessas histórias de coobernet de de de Devotos de infraestrutura como código todo esse rolezinho há bastante tempo então mais de 15 anos aí cortando esse mato para que nós possamos aí montar as nossas cabaninhas então façam muito barulho para o Leandro Proença arrebenta mano então minha tela tá aí de boa né Tá suave aí compartilhamento da
tela Então vou botar aqui no Play aqui ele já deixou Fechou então só dá só confirma que tá tudo bem aí do jeito tudo lindo e maravilhosamente bem mano fechou valeu valeu Então galera é isso sou Leandro Proença né também conhecido na rede sociais e como Leandro nsp né o leandrons aí no Twitter e tal né do LinkedIn também é o mesmo renda Então hoje eu vou falar sobre essa ferramenta aqui chamada tecton que é uma ferramenta que ajuda a montar sistemas aqui completos de integração contínua exemplar contínua É bem interessante ela mesmo é em
ambientes por exemplo como Uber net também então eu vou dar um overview sobre ela os slides vão ter o código vai ter muita imagem tá E é isso não vai trazer coisa tá então mas eu preparei os vários de forma com que possa passar aqui a mensagem a ideia dos fundamentos do tecton então eu trabalho há 15 anos como software mais para o final das lives eu vou falar um pouco mais sobre mim tá bem vamos lá começar aqui com uma jornada né acho que é interessante né que a gente ouviu falar sobre csd assim
muitas vezes e tal eu acho que é importante a gente dar um passo atrás e né fazer aquela reflexão sobre o que é esse dia então muito o que vou passar aqui é muito da minha percepção do conhecimento que eu tenho do que que é si tá bem a gente vai falar sobre o problema com meu gel aí vamos falar sobre integração contínua né ou se a e depois continua que é o Cid vamos ver aqui então como a gente usa né Sesc de na nuvem né dando aqui só um exemplinho e uma proposta de
7 dias em ambientes claudinete depois que a gente se passa atrás né então começar a fazer uma introdução ao tecton essa ferramenta aqui muito muito boa mesmo a gente vai passar então pelos principais componentes depois a gente vai passar pelas testos Lines Como compartilhar informação com o World spaces e por último ao mundo externo beleza e por último a gente vai fazer que o último capítulo que é com imagens justamente colando tudo aí que é uma entrega continua alguma produção tá não ela de Coaching vai ser em slides e a gente vai montar aqui como
criar uma papelaria de Stage né que é um ambiente ali pré-pro-d né pra gente poder testar o nosso pacote testar a nossa entrega que é grande de produção como ativar por exemplo e como ativar de produção quando o PR for mesclado ali na grande principal na mente Beleza então apesar de código né Vai ter muito código aqui no slides mas a gente também vai falar sobre muitos conceitos que é muito importante então conceito era muito importante né quando a gente vai falar sobre qualquer tipo de ferramenta ou Paradigma e por aí vai Começando aqui um
passo atrás O que é SSD né então a gente tem que um exemplo com um servidor né que é um vcs que é um servidor de controle de diversão como Hit por exemplo tá lá em algum lugar na cláudias e as pessoas trabalham né que já tá habituado a esse tipo de trabalho de rotina e aqui cada pessoa né no seu próprio computador pode ele rodar alguns cheques de qualidade para verificar se o código tem qualidade por rodar links né É também rodar alguns testes de segurança são testes que verificam falhas ali de vulnerabilidade no
software e também rodar de automatizados São boas práticas né que convém porque a gente sempre Rode elas ali na nossa máquina antes de mandar aquilo para bitch algumas pessoas utilizam por aí para poder automatizar isso mas enfim são boas práticas Então imagina o cenário né então é muito comum a gente ter dezena de pessoas ali é contribuindo no repositório com várias branches né Então as pessoas mandam like mas não faz bem tal beleza trabalho ali durante o dia semanas enfim meses né dependendo do fluxo do projeto ele chegou o momento do que do Deploy é
um momento de fazer entrega né colocar um negócio lá no ambiente onde as pessoas vão usar de verdade não é ambiente de teste é o deproer mesmo né produção Então o que acontece cada quadradinho laranja como se fosse uma grande cada pessoa trabalhou né Então nesse momento do depara nesse dia a gente vai começar a fazer a mesclar tudo né Faz um de todas as ambientes para dentro da Bento principal que é a nossa mente principal Quais são os problemas com esse tipo de abordagem né dependendo de como está implementado nosso fluxo de trabalho a
gente pode ter muitos conflitos né então a gente vai cair aqui nesse cenário do tal do Isso é isso é muito comum antigamente né antes das práticas hoje em dia não é tão comum assim mas é só para a gente ter aqui um Panorama né do problema que o seai resolve né a gente a gente já muitas pessoas já começam no ambiente de seai né então já tá habituado com isso e talvez não vivenciou ainda aquele cenário do meu de Réu que era um dia só é inferno mesmo né outro problema também né como a
gente tá agora nesse plano tudo Numa vez só a gente vai rodar um potencial de ter várias falhas aqui né nos testes integrados quando tiver tudo integrado tudo junto né porque as pessoas trabalharam separadas ao longo do tempo né E aí acaba que quando junta tudo pode dar algum tipo de problema maior isso sistema se o projeto tem Google back né então levou em conta isso é tem que né voltar à versão anterior e parar né e parar aquele processo de Deploy e também né na venturalidade da gente introduzir um bug nesse Deploy fica difícil
fazer o track saber qual Brand que causou esse bug porque a gente né colocou tanta Branch ao mesmo tempo né de uma vez só e fica complicado Qual é a solução para isso intervenção contínua que a gente está habituada no dia a dia aí fazendo pus para para nossa Brant sincronizando principal Então é isso é um trabalho muito importante de interpretação contínua que a gente tem que fazer na nossa máquina né geralmente né então a gente tem ali o nosso o nosso server com controle de diversão que é o Git né Por Exemplo né E
então ao invés da gente rodar na nossa máquina esse cheques aliás ao invés não a gente continua rodando né a gente não deixa fazer isso Não gostas práticas mas a gente vai contar agora também com seai serve aqui também que vai fazer a execução desse cheques para verificar que o nosso código está com qualidade com segurança e então é tão tudo verdinho tá tudo rodando super bem ali né então A ideia é a gente levar toda essa essa boas práticas de integração contínua lá para um servidor né lá para um lugar remoto onde Todo mundo
vai ter acesso e vai ter visibilidade então é muito comum né a gente vê a integração contínua né viciar aí na nuvem né um exemplo é com github o que tiver um já é um site privado para reportar o Git E como que ele implementa-se através de que tiver actions né então é muito comum então as actions elas entram para resolver esse problema aqui do ca então a gente pode criar vários steps tem vários idiomas ali e cada dia vai fazer uma função muito específica vai rodar cheque de qualidade automatizado Deploy E por aí vai
tá bem então essa ideia das actions ali as pessoas trabalham e tem um ambiente Então esse aqui é uma figura né uma foto muito comum a gente vê nos projetos hoje no dia a dia uma alternativa isso também é não usar continua sendo por exemplo no nosso nosso repositório central do Git só que a gente faz a gente faz o upload disso lá para o circunciário da vida né uma outra ferramenta privada também e aí você vai ter ali os cheques Então como que sabe do que aconteceu Vai comunicar ali atrás através da forma mais
comum aqui mais simples de fazer isso e não só o cercociá então a gente pode ter qualquer coisa.com a gente pode ter o nosso próprio site server ali rodando numa VM numa numa Claude pública como como a WS por exemplo Tá bem então a gente falou do Ceará e agora falar sobre a parte do Cidinha que eu dei contínua então é legal fazer integração contínua tudo direitinho Só que aí o momento da entrega né então aqui a gente tem uma uma figura né uma imagem do como que seria que a gente acabou de explicar Aí
depois que passou-se a né tá tudo verdinho tudo maravilhoso a gente vai começar o processo de pegar a nossa aplicação a nossa nossa doente ali Nossa entrega e vai empacotar ela a gente vai empacotar para poder fazer uma entrega e colocar no ambiente de produção e esse pacote pode ser qualquer coisa para rodar naquele ambiente por exemplo se lá roda um Derby é muito comum às vezes criar o pacote Debby por exemplo paciente iOS então muito comum que a gente vê no dia a dia né em ambientes uma imagem docker então eu vou empacotar aqui
na imagem docker e vou colocar ela diretamente da minha máquina da máquina da pessoa desenvolvedora direto da produção upload né seria muito legal isso funciona beleza maravilha só que fazer isso para produção direto da nossa máquina muito amador né isso aqui não é muito profissional embora Tem lugares que podem fazer assim pode funcionar fica meio complicado fazer isso né a gente deve acoplar o processo de deploide a gente não deve acoplar esse a nossa máquina porque a gente vai ter que ter acesso né produção fazer piloto e ficar uma coisa meia né e é ruimzinha
ali então A ideia é também delegar isso então a gente constrói pacote na nossa máquina ainda então o Cid ainda tá no nosso computador a gente faz um push para um lugar chamado pack de Regis que é um lugar que vai ter o registro de todos os pacotes ali né seja pacote Debby enfim se for né professor de Pocket Edition mencionei ou imagens do docker e depois do ambiente de produção fica fazendo poucas imagens Então a gente vai lá a gente faz o estímulo em produção e fala vai buscar a última versão lá no Regis
da produção vai lá buscar aquilo ali tá bem E assim a necessidade a gente fazer um upload direto na minha máquina ali pra produção né Então nesse momento nós temos aqui um dia já todo bonito isso funciona tá já tá indo projetos assim aonde a pessoa ou duas pessoas no time ele tinha aquela permissão ali para poder construir o pacote mandar para o Regis funciona dá para fazer uma entrega contínua legalzinho que só que ainda assim na nossa máquina né Que tal fazer isso nuvem também assim como tem o seai Então se ice de lá
na nuvem né então aqui ainda com exemplo do githubci aí passou então continuando né usando as guites para fazer o processo do Cid então o build pack de passa também pelo github o kit Hub depois vai ter um outro step que é para fazer o push né da dessa desse nosso pacote que pode estar no próprio pode estar em outra ferramenta externa também tá então é isso e depois o Deploy Então a gente vai aqui no caso né o nosso diálogo do kit Hub ele vai fazer um estímulo na introdução falou opa vai lá buscar
lá na nova versão lá da minha do meu pacote do Meu Container tá então vai lá buscar uma versão e é isso E aí produção é diferente tá é só estímulo ali né Muito mais rápido né são estimulozinho ali ele já vai fazer aquilo ali tá esse processo é muito comum então a gente tem uma figura que muitas pessoas acabam de equipes né que é aquela parte da gente ter aqui as operações ali tudo limite ali enfim e aqui alguns exemplos de ferramentas que a gente tem aí pode utilizar são ferramentas privadas algumas inversão free
outras você começa a pagar na região de utilização mas é tudo ferramenta privada Você vai ficar dependente daquela ferramenta ali para poder fazer o teu site e atividades só para mencionar algumas aqui né Tem mais ainda aí no mercado a proposta aqui então é como que a gente pode rodar o nosso dia em ambientes claudinete né uma palavra talvez ainda nem todo mundo tem não ouviu falar disso ainda né enfim eu não vou entrar muito detalhe do que a claudinete tá eu vou dar aqui minha percepção mas basicamente é a gente ter ambientes ali que
propiciam criar aplicações que são muito padronizadas né que você tem uma única forma de visualizar aquela aplicação de fazer o deploide dela uma forma única de você verificar os logs métricas né uma forma única de observar essa aplicação E também porque essa aplicação seja diagnóstica Cláudia então a forma que eu vou visualizar essa aplicação não na WS deveria ser igual né A lá no gcp não digitou roxo indo por aí vai também é no weger Então essa é a ideia do claudinete então uma um exemplo de creme da claudinete que a gente está bem Bernardes
é uma ferramenta claudinete né foi uma das primeiras você não a primeira vez graduada aí pela CNS Então qual que é qualquer ideia então aquele processo de que tava lá no kit Hub sai de lá e vai para onde vai para o benets Então como que a gente vai colocar esse negócio e troço dentro do coberto a Grosso modos a gente fosse fazer as coisas na mão é aquele monte que pode ela pode para fazer todas essas coisinhas aí rodar um cheque de qualidade tá tal tal e também é uma outra pose que vai fazer
roloud da nossa aplicação que tá na mesma classe ali por exemplo tá então aqui a gente tem a imagem então da minha máquina faço um push porque te Hub E aí ou abre um TR faço nojo de um pr né qualquer tipo de evento o que tiver por sua vez vai mandar um evento né vai mandar um pelo de através do Web Hulk que está cadastrado lá no clã Bernardes então repara aqui agora a gente tem tudo no nosso controle tá dentro do curso e aí ele não combina né vai ter alguma coisa fazendo CS
dia ali o que que é essa alguma coisa que que entra o tecton tá então o tecton e traz ali vários tipos de objetos customizados né a gente pode colocar dentro do nosso clã para atuar ali para poder ouvir né webbook do que tiver através tem um template que vai iniciar uma pipeline ali disse ah e decidir para poder atualizar o resto e fazer as nossas Pods E por aí vai tá a gente vai entrar mais em detalhe aqui de todas esses componentes aqui os principais componentes do tecton Então vamos começar aqui com uma greve
introdução até então é uma ferramentas e o legal aqui que você pode colocar aquilo no teu próprio Clans enfim você tá um pouco mais um controle da situação de ficar dependente de uma ferramenta externa ela tem sorte né Então ela tá sempre sendo mantida Ali pela comunidade é para rodar em ambientes claudinete é um projeto graduado já né pela Cantina delivery que é CDF uma Fundação que foi criada para comentar ferramentas nem tudo para em volta da entrega contínua [Música] e a empresa que estão aí também que apoiam essa iniciativa ali da fundation dessa fullndation
o Google Red Hatch sabe Empresas Grandes que estão apoiando isso né os principais componentes do tecton a gente vai começar pelo mais básico que é o step depois vai passar pela testa pipeline workspaces e tricks como que a gente instala né o técnico tão simples quanto fazer uma Play né de um então e aí naquele ano ali por exemplo se Vocês pegaram aquela URL depois depois eu vou divulgar as lives Também quem quiser depois ter acesso eu posso compartilhar os slides então naquele link ali ele vai ter todos os né que a gente chama no
no Goiás de crbtions que ele vai depois criar ali os controles ali para ter objetos customizados dentro do clube Bernardes né vamos começar aqui com um step não passo de cada vez e aí já tá o spoiler ali o step na unidade mínima dentro do teto então eles são container assim como com tênis da missão unidade mínima lá no clube Bernardes eu vou tentar fazer um paralelo com as Abstrações do governantes recebem nomes que arbitrário né assim como no campeonato não é possível criar containers também no teto não é possível criar um step diretamente tá
então no cubonetos aqui a gente tem que fazer para criar um container é uma abstração que está por cima dele a gente pode ter nessa abstração vários contentes lá dentro que no caso é a pode aqui no tecton é a mesma coisa tá Então como que a gente agrupa Multiplus steps aqui no teto através de teste então uma tesc é uma coleção de steps então ele vai ter vários containerizinhos tem vários steps né para poder executar as coisas no modo específica então você pode falar que uma Tesla que roda depois da outra né É bem
interessante e quando essa tese que ela é executada no ran dela é vai ser criada uma pode ir lá ver né porque aquilo que a gente falou lá atrás que a gente fosse fazer na mão né então o técnico já faz isso pra gente vai criar uma vozinha e vai executar os estepes né que estão ali dentro daquela testa pra gente se tiver um step ou dois ou três ele vai fazer tudo ali pra gente Então tudo como tudo na vida tem um Hello Word né então a gente vai fazer aqui um relógio com um
teste usando a pílula do tekton chamado Hello que tem uma imagem do Ubuntu simples assim super simples que o comando que ele vai ter é uma mensagem que tá imprimindo ela tipo pode que é Hello só isso então é uma tarefa que vai imprimir Hello tão simples quanto isso só para a gente tem que entender como que esses componentes da tecton funcionam também então tem ali o que você telegradésticos rodou ela ainda né então como a gente vai executar essa testa Então existe um objeto do técnico chamado do test Run então através dele né a
gente vai criar esse Remo aqui né E vai falar qual que é a nossa testa de referência ali em baixo Test e dizer qual que é o nome da testa que lá que a gente deu né slide anterior aqui que é o Hello testa ali no metade data beleza e aí quando rodar isso né a gente dá uma coberta não funciona porque o teto aqui no caso a gente tá usando gerente nele para poder dar um sufixo aleatório Então tem que ser com cliente aqui e aí a gente vai rodar então com esse comando ele
vai de fato executar aquela tesc a gente consegue conferir com rodo com sucesso Maravilha e aqui a gente dá a ver isso de hipótese então foi criado não pode ela foi executada e depois os vlogs ela pode a gente vê a mensagem Hello ali Então esse foi nosso helloweet mais básico com uma tese aqui no teto né a gente também pode adotar múltiplas testes dentro de uma outra estrutura chamada pipeline então a ideia que as papileines né sendo coleções de teste elas podem ser úteis aqui para fazer uma separação lógica das tarefas da nossas peças
que a gente queria no nosso no nosso cluster tá então a gente pode aprender Stage de produção e etc então tipo por exemplo a gente tem uma de esteja ali que tem três tarefas que vai fazer o check-out do projeto lá no kit rugby vai rodar os testes sanitários teste de qualidade por aí vai e vai depois fazer um temploi né um ambiente de estejam ali não importa se Enfim pode até ser merecedor ele podia ter um comando lá nas C2 vai mandar mas a ideia é um depode esteja tá E é que fecha o
que que a gente chama de pipeline de Station a gente pode ter uma outra separado Para não misturar as coisas então o legal do técnico essas esses vídeos de um blocos né são peças de produção Não precisa de buscar código porque ele já a gente já fez o gite clone já rodou os testes lá no ambiente de Stage e já testou Então a gente vai pegar o mesmo pacote que tá esteja em produção Então vai ter uma tarefa só que é muito mais simples um deplo é muito mais rápido né então é uma forma de
evitar que fica repetindo coisas ali na Praia Grande de produção é então aqui um helloword agora a gente já fez hello world com teste vamos fazer agora o download com o pipelines então é nesse caso ela vai ter duas tarefas duas testas a primeira Hello ela usa um teste que vai referenciar aquela tese que a gente acabou de criar já está criada tá dentro do cluster e a outra que está querendo ali um defly que é o bytest é uma outra tarefa utilizando tática spec define ali mesmo aquela tarefa então dá para fazer isso em
duas formas de referência ou acontece existente ou até expec você vai criar ali e aí tipo tem uma imagem do Ubuntu também que só vai dar um vai então uma testa ela falou vai beleza da mesma forma que a gente faz o teste Run para rodar uma papelarem é o objeto [Música] e a gente fala qualquer papel higiene de referência e com o cliente mandou rodar Maravilha rodou com sucesso a gente tem três potes a primeira pode é hellotes anterior e as duas últimas são de fato as duas técnicas que a gente acabou de criar
foram executadas tanto pai e aqui a gente vê no vlogs então aqui foi um relógio bem simples aqui com teste é a cara introduçãozinha até que tom tá então é uma forma um pouco mais intuitiva de interfacear ali com tecton através da linha de comando tá bem e uma ainda melhor ainda né que é o tecton dashboard também então aqui a gente vê ali as três tarefas ali é todas executadas com sucesso tá chega de hallow né que é muito simples vamos pensar agora no programa um pouquinho mais real Então vamos criar aqui uma pipeline
chamada my pypline que ela vai ter duas tarefas uma tarefa que já é um pouco mais realista né que vai lá no Beach faz um Beat Club Beleza a gente vai dar uma URL para ela então ali nos parâmetros né da nossa spockline eu tô declarando Quais são os parâmetros que eu quero receber a nossa pipeline ela não sabe que ela vai receber mas eu tô declarando que é revision ali né tá dizendo né que a própria deve receber esses dois parâmetros Então a nossa E aí dentro né a tarefa ali que é o Git
Clone e a outra que torce Beleza então vamos agora ver o detalhe vê o detalhe né como que a gente planetária cada tarefa dentro dessa papyline vamos começar Então como que a gente pode implementar uma tarefa né criar um emo lá de taski a gente precisa também imagem dentro dessa imagem o bom também não serve não teria que ter um ponto mais um vídeo instalado então a gente teria que que imagem aqui com docker Fire tudo ele bonitinho botar no registro para poder ter acesso alguém de pânico A não ser que a gente tem uma
imagem pronta de gite já no docker Hub Seria maravilhoso e deve ter aqui nesse caso o ele tem que instalado executar comandos repetitiva né todo o projeto do planeta precisa de fazer um Bitcoin se for usar esse fluxo aqui Claro é repetitivo então a gente não precisa ficar inventando a roda Então como que o tecton resolve isso né através do tecton HUB então é um lugar onde a comunidade de pessoas em volta do técnico vão lá e colocam tarefas que podem ser reutilizadas tá no final das contas é sempre uma tarefa é um cai de
teste e como que a gente instala essa tarefa que estão lá no hubby através do nosso plano então a gente não tem que tirar na mão né depois a gente até pode abrir depois dar um design lá na testa lá que ele vai estar lá e ama tudo bonitinho mas alguém já fez pra gente Esse trabalho anterior um pouquinho mais flexível também genérico para funcionar para vários tipos de projetos tá então na setinha branca o teste raf eu tô dizendo para ele que é o Git Clone então a gente não criou o Bitcoin mas ao
invés a gente importou do lado do técnico Hub e na setinhas amarelas são os parâmetros que a gente vai enviar para essa testa então o que que o Beach Clone precisa tá lá na especificação da tecnologia sempre está lá lista de parâmetro que ele precisa ele precisa de uma url obviamente para poder fazer um Bitcoin e da revisão que no caso aqui é o nome da Brant ou do canite tá bem Vamos agora para a próxima tarefa que eu deixo sorte a gente pode fazer por conta não precisa buscar no Rubi vai fazer tão simples
quanto dá um LS tá Por enquanto tá simples ainda mas a ideia faz vídeo pro homem não LS ali para distal os arquivos daquele projeto eu não cliquei coisa mais avançada porque não cabe no slide fica muito complexo E aí fica difícil entender as coisas então é assim só pra gente e aos pouquinhos Tá bem então na hora de rodar agora pra Pilar né Eu Tô Passando para ela agora os parâmetros antes não passava no Hello lá né Não precisava também agora precisa da URL do repositório e da revisão eu tô passando ali uma url
que tá no meu G20 chamado espirito é uma coisa bestinha que fiz em Rubi lá um webserve um web framew King brincando com coisa de rubi e aí esses parâmetros eles vão ser enviados para então é a nossa ponta final né então é lá que eu vou colocar o dado hardcoder de um dado ali mesmo ali que fala olha essa URL é isso isso né ele vai passar aquilo para a parte Line é uma imagem para descrever né que a própria parâmetros e a gente roda e executa com sucesso o problema é que é o
seguinte quando ele dá LS lá vai ver só os arquivos do mundo né não consegue ver os arquivos que estão na outra testa que alguém Clone Então são testes separadas né são duas podes né separadas então assim como as portas elas não compartilham dados e a gente vai Pesquisa então fazer o que assim mapear volumes né entre essas diferentes testes entre essas diferentes podes que estão dentro de uma pipeline beleza Como que o tecton resolve isso com o consiste chamado aqui uma forma de compartilhar dados né volumes entre diferentes testes de uma pipeline podem ser
cinco dias também e pode ser também volume persistente a gente quiser também Então como que a gente modifica agora vamos modificar dentro da especie a gente já tem para pagar no raff já tinha os parâmetros eu emitir ali né para caber no slide e agora vai entrar um chamado workspace então eu tô criando outros textos que é muito parecido com a gente tem lá naquela questão do volume persistente lá no clube Bernardes então eu tô definindo aqui o volume persistente de 1 GB o que que o técnico vai fazer ele vai lá e vai criar
um volume persistente e vai passar esse volume para Prime tá bem É o que ele vai fazer E a pipeline deve depois de alguma forma né declarar que vai receber um volume também o workspace tá então lá na papelaine tem ali né os parâmetros tem as testes em baixo os workspaces ali então eu tô declarando que eu vou receber quem vai passar vai pegar não sabe é algum problema né que vai passar para ela mas ela sabe que vai receber um cheque de deita aqui já resolveu entrar de nossos problemas agora dentro nós temos as
testas e as estética também precisam ter acesso aliás são elas elas são a ponta final né elas e os steps que são containers precisam ter acesso aos nossos workspace então é um passando para o outro né então aqui no Git Clone na setinha na setinha branca a gente tá declarando Então a nossa pipeline que a gente vai receber lá do patrão o volume persistente e vai passar aqui para cá como parâmetro então aqui vou comprar então desculpa como dependência recebeu aqui Maravilha na setinha amarela repara que está dentro da tarefa do gich Clone né E
a gente vai e ali como ele está dentro da tarefa ele vai passar esse outro Space nosso para dentro e que por acaso por acaso não né porque tá lá na especificação do HUB podem ir lá ver e verificar o workfish que eles esperam lá que essa técnica espera chamado altitude Não entendi é o nome que definiram lá é altitude Então eu vou passar de deita com o nome altitude é o que tá acontecendo aqui tá aí assim o kit Clone vai fazer essa tese que que ela vai fazer vai fazer o Git Clone e
vai colocar todos os arquivos desse projeto nesse workspace shared dele aqui e assim na outra na outra testa que é o lixo Stories passando também na setinha amarela o mesmo workspace outro nome chamado aqui né enfim pode dar um homem que a gente quiser lá dentro só declarar certo lá dentro como a mesma que fez Então essa tarefa vai ter acesso aos mesmos arquivos que a outra tarefa escreveu volume né e é isso então e aqui agora na nossa tarefa de shorts que a tarefa que lista Nossa tinha Branca a gente está declarando os outros
pesos que vai receber por nome sórce no caso ali e dentro do estepe agora na ponta final né chegou lá no container a gente vai falar que o working de onde eu vou dls ele vai buscar lá nos Space no caminho que tá no workspace chamado sorc eu posso ter vários outros Face pode ter quantos eu quiser no caso ali então é que só fazendo uma semelhança Parece que em dinheiro lá para quem também está a trabalhar com docker aqui uma imagem para representar para Irlanda tem lá usado tudo Hardcore tem a URL do Chespirito
o nome da Brant da revisão ali da do revision e ele tá definindo o PVC e o volume persistente ele de 1 GB ele vai passar aquilo para pipeline não sabe de nada então o que que é o legal aqui a gente consegue montar aqui o pipelines e sistemas de sistemas para fazer aqui enfim automatização com tecton muito isolados assim sabe você vai montando aquelas pecinha ela não sabe o que vai passar para ela sabe que vai ter uma ponta que vai acabar passando alguma informação isso é bem interessante né aqui é uma imagem dando
print né mostrando que executou com sucesso Maravilha até agora a gente rodou tudo muito manual né então a gente tem que ir lá né e dá um cliente lá então tá muito manual né como que a gente pode fazer para criar automáticas aqui no técnico quando a gente pode né fazer com que essa criança seja executada através de algum estímulo né então assim qualquer ideia dessa presença automáticas ah os runs deveriam ser ativadas automaticamente o estímulo pode ser através de um push ou qualquer coisa que a gente faz um PH no github né que aí
no caso Lab através de webs eles vão chamar os que estão no nosso cluster para poder mandar aquele upload do evento fala olha aconteceu um puxa aconteceu um perigo foi aberto um comentário no PR tudo pode colocar tudo lá né enfim isso a gente configurar eu não vou entrar em detalhes como configurar Weber porque sai do corpo da Top Tá mas enfim é criar web então aqui uma imagem eu faço vai fazer uma através do Hulk ele vai chamar lá né Vai ver que no nosso cluster e o tecton vai ter alguma coisa que vai
ficar a escuta né desse desse vai ficar ali escutando isso aí vai receber esse piloto de alguma forma e no tecton são chamados listas e trig RS tá quais são os componentes principais aqui template a gente vai definir um template que a gente vai entrar em detalhes sobre ele o tigre que ele é passado que tem cliente no caso vai digamos de parâmetros template a gente vai ver também um detalhe e depois o cara que vai ficar na frente de tudo vai ficar escutando os eventos que vem lá na web tá como que a gente
instala também nesse RDS aqui então não vem poder fogo tem que usar o apoio ali com aqueles dois erros ali tá declarando ó eu vou ter dois parâmetros revision que se não passar para mim se o template não recebeu um parentemador Vision URL do repositório eu só cortei aqui O slide Tá mas agora no próximo episódio eu vou continuar na espécie aí é uma coisa importante dentro do Tigre template são ali aquela aqueles resorts templates e veja que dentro dele tem o quê o que nós tínhamos lá atrás Tem uma parte Line Run né então
a gente vai colocar aqui dentro não precisa ter um arquivo separado para isso não há necessidade tem que ter um cliente vai passar seu nosso arquivo yemon e aí a gente vai falar com a pipeline ali também mais para baixo então declarando então definindo né workspace então o valor que template eu omitir também ali mas a gente tá definindo um volume persistente ali de um giga por exemplo e quais são os parâmetros ali embaixo ele vai passar para nossa pilaine beleza que é o URL do repositório e é o rei virgem e a gente tá
buscando o valor ali né através do TT ponto para nos pontos que que é aquilo né a forma disso essa variáveis aqui de forma dinâmica no teto não é com esse cifrão parente né o tema Avaré automática que o próprio técnico andar que representa obviamente que teve de trigo e template então eu tô acessando dos parâmetros recebeu Qual que é o parâmetro da URL do repositório então a ideia aqui com que o ticketplace também é isolado ele não sabe que ele vai receber Aliás ele não tem a informação radical né ele só declaro que ele
vai receber então ele pode ser depois utilizado ele pode ser reutilizado nessa ideia aqui do técnico né aqui na imagem demonstra isso então dentro do template Tem uma parte que está sendo definido e fora ali no amarelinho né tem os parâmetros para receber ele passa para o papai que a gente já viu anterior já viu aquilo e quem que envia né os parâmetros para o trigo template alguém envia porque ele não tá com dado hard ali é o cara chamado Trigger Band tá então aqui ele tá falando Quais são os parâmetros que vão ser tipo
acoplados mas basicamente aqui vai ter um outro um outro componente aqui que vai pegar e vai passar isso aqui vai usar o tigre aí vai usar essa expressão triglidade para poder buscar lá no evento do pelote que ele deve Hulk então no final tudo tem a ver com pelote que vê lá no web tá então eu sei que no piloto que eu recebo do hit Hub por exemplo tem lá no Body tem uma chave chamada porque Quest no Jason depois dentro dela tem um head que vai ter e vai ter o resto lá do canite
É tipo isso mudaria um pouquinho que o bit leve assinatura do seria diferente aí cada provável diferente é que tem que mudar aqui no bairro Então vai ele vai ser usado ali ele vai ser usado para poder ser acoplado ali junto Porque tem cliente assim os parâmetros vão chegar ali né de alguma forma tá mas ainda assim é de quem que recebe os parâmetros para enviar e tem que extrair isso lá do pilote né Davi Hulk é a pessoa que está na ponta ali fazendo tudo tá a gente define ali né o server continente vai
viver depois que ele é importante para tarefa que aquela tarefa do roloud lá que vai ter que fazer o lote da pode é uma questão de permissão aqui é aquela questão do controle de permissões aqui do cobertor em detalhe tá isso aqui é um detalhe só para poder funcionar o clube Ctrl depois dentro do cluster a partir do técnico né E ali O importante que ele investir mas é a lista de triggers eu posso ter várias tigres vários vários E aí eu tô querendo uma dica chamada PR Trigger tá que ele tá pegando eu tô
dizendo qual que é meu Band qual que é meu template E aí ele vai fazer todo esse trabalho nessa sacola aí ele vai colar o baile com template ali e não só isso ele vai para cima ele vai criar um service no clubernets que vai ter uma url Olha que legal ele vai ter geralmente uma url interno de service mesmo normal de porte enfim mas a gente pode depois né colocar isso de forma pública a gente pode fazer um pote Ford pode usar um ingresso pode botar um de base na frente enfim e aí a
ideia é que a gente vai Nossa ele vai ter um Hulk ali para poder receber e é lá no github aconteceu que uma abertura de PR o que tiver vai enviar para o nosso web Hulk o upload do evento né dizendo que aquele PR foi aberto ali por exemplo E aí o eventualista ele vai entrar em Ação Vai colar de contemplate template vai iniciar a pipeline tudo bonitinho é maravilhoso e aqui uma imagem para descrever né o exemplo vitilíssimo para mim lilás ali né ele começa tudo né e ele vai mandar os parâmetros Ali vai
extrair né vai mandar para o Band para isso vai mudar os parâmetros por sua vez vai iniciar através e aqui na imagem mostrando aqui o sucesso disso aqui também para finalizar Tá então vamos agora desenhar algumas realista ainda que ainda tá só tá naquele LS né aquele negócio lá que Ah faz o kit Faz o plano do projeto dá um LS vamos agora continuar uma coisa um pouco mais realista com testes ali então aqui vai ser imagens tá espero que a ideia que era era trazer para vocês o fundamento do técnico para entenderem como os
componentes quais são os componentes do teto que problemas ele resolve E aí agora vamos para uma coisa vamos fazer uma entrega continua agora rumo o quê produção né não é que ah não é teste vamos direto para produção brincando o projeto que eu vou usar como exemplo ainda eu tesrito tá então eu vou usar o csd com ele mesmo então aí eu vou enfim todos os exemplos aqui estão aqui nesse meu repositório lá tá depois quem quiser trocar ideia lá comentários tirar uma dúvida tá lá público lá beleza então eu tenho aqui um cluster hipotético
classe de acompanhantes local onde tem ali duas podes eu tenho uma pode que é a do redture é uma dica de imagens do docker tá que vão que eu vou usar aqui no meu cluster eu só queria local só para simplificar aqui enfim a gente tem a ideia para onde que as coisas estão indo tá poderia usar em outro lugar mas prefiro usar aqui o próprio cluster e a nossa pode principal que é a nossa parte da nossa aplicação é pode que importa né É do negócio ele quer espírito pode ali a nossa app chama
de App então o que que precisa fazer vamos criar aqui duas tapiolines Então esse é o requisito da nossa do nosso site e uma de produção separadas separadas a Disney que ela faz ela faz um processo de build que vai fazer checkout do código vai rodar os testes né E vai mandar e vai empacotar e vai mandar essa imagem para o registon é o que o vídeo vai fazer e depois que muda para o mestre aí ele vai fazer o deploide para o Bernardes de produção era mais simples que é do dia esteja porque não
tem que fazer Bio de nada porque já tá a imagem no Extra então se eu aprovei esteja Então vou pegar o mesmo pacote eu vou mandar ele para a produção tá Não precisa fazer vídeo de novo gerar uma nova imagem perda de tempo e aí eu vou fazer essa papelaria ela só vai fazer mesmo rolar tipo de produção não tem que fazer Gate nem nada tá então aqui na imagem ela vai ter três tarefas ofertas vai buscar o código lá no Git Build para rodar os testes e esteja que é o Deploy vai fazer o
holote da pode ali e todas as tarefas vão compartilhar um único especial de data é uma tarefa que foi importada no tecton Hub que a gente colocou lá né Vai passar o workspace out e vai passar parâmetro que é URL de build aí já vai ser nossa no tarefa de build ela vai ter ali um oxigênio que é para poder ter acesso ao que o Bitcoin colocou lá né para compartilhar E aí o step de testes a gente vai executar os testes unitário dessa aplicação é Rubi né então vou dar spack só que aí tipo
é que eu uso a blusa de docker então eu uso o docker também para rodar os testes aqui tá Então o que acontece como eu já tô dentro já tem docker então não sabe ele não sabe usar o docker que tá lá essa imagem aqui do bild aqui nossa ele não vai ter docker então o que que a gente precisa fazer a gente precisa criar um outro step digamos especial um container que lá no clubenete nada de container que é um padrão chamado sair de casa e a gente vai definir de cara aqui com o
docker então aqui é muito chato então eu vou ter um Dock ele sai de cara que depois o nosso conteúdo testes através de enfim ele vai ele vai usar esse docker aqui esse Lan time para poder fazer executar os testes ali tá aí não vai usar o docker que tá no meu e depois o outro step eu release que é super simples que ele vai fazer docker Punch docker Plus beleza dentro do próprio cluster mas aqui não tá depois na próxima tarefa que esteja ele tá usando ali uma uma teste chamada camionetes que a gente
também é comum vai ser comum todos os clientes ali para poder fazer o holote da pódio no componentes lembra que lá não sei que template é aqui que ele vai ser usado para poder ter permissão de fazer o hot da polia ali depois quem quiser tem gente lá com um membro do RBS sei lá esteja então agora vamos ver como que é de produção que é super simples né já vai acabar já tá apresentação é super simples Então a gente vai ter ali uma única teste que nessa que é de produção que que vai fazer
vai fazer o hot ali da aplicação e aqui acabou tem a imagem completa aqui né E aqui fechou Só que ainda tá muito manual né tá tudo imagens né mas vamos supor que eu tive que fazer para tirar tanto de Stage quanto produção para poder testar ali né Eu tive que fazer cliente né eu vou dar manual vamos fazer automatizado a gente já aprendeu com outro exemplo como fazer automatizado através prontas tem a aplicação ali após tudo prontinho ali esperando só estímulo que vem lá do kit hubit Hub vai mandar vai chamar webbook aqui com
evento e a gente vai então aqui fazer aqui um exemplo que é quando abrir um privub vamos ativar para aprender o que tá acontecendo aqui então a gente vai ter um Trigger chamado Trigger dentro do nosso que é significa Trigger abertura de PR E aí vai ter uma coisa em um componente no meio ali que precisa fazer o quê A gente precisa verificar se realmente é um evento de PR aberto que o gleethrub a gente pode configurar lá para mandar vários eventos de né a gente precisa se garantir que esse evento que chegou é de
pegar aberto não vai ter que olhar o request né vai ter que olhar o Jason lá o redor do htt o body lá tudo né Tem que interceptar isso aqui né Como que o técnico resolve esse problema através de tecton interceptors tá eles resolvem esse problema aqui por padrão já tem o que estiver bem certo interceptor também e tem um caixa bem interessante que tá tem bold quer que eu vou usar aqui nos exemplos que é o céu interceptor que usa Calman Expression Landing né é uma sintaxe ali o Google criou isso aqui né uma
uma linguagem ali mas ela não é tudo incompleta é uma dsl para poder criar expressões ali bastante semânticas ali então dentro do trigo e template dentro do Trigger eu tenho a lista de interceptors eu tô criando o nosso link a gente usa ali o Landing Quest e ele está sendo aberto Beleza então pode pode continuar aqui né pode ser executada tal do Filter ali Beleza então tá acontecendo ele vai filtrar e vai passar diante para quem Para o Band ele vai pegar aquelas variáveis para poder extrair e vai passar para quem Para o template aí
o template vai ter lá o Lucky Space lá para pegar bonitinho vai ter o server se acalde e vai ativar por sua vez vai começar e como que a gente ativa de produção O PR foi aberto colocamos em esteja em testamos aí chegou o pior lá testou Opa tá aprovado aí sempre eles Beleza a gente vai mandar para produção fazer um murge do nosso request lá na mente ele deveria aqui nesse caso no nosso requisito ativar tô aqui também vai ter um Center certo tem um outro interceptor só para esse outro Trigger tá que eu
chamo ele de murgh Man são dois Trigger separados duas pilaines separadas ali qual que é sintaxe aqui né é verificar ali embaixo né na linguagem ele foi fechado então no github aí vai de cada prova de um pr ele manda uma Action chamada Close ele tá fechando o request embora não interface parece roxinho mas ele tá fechado só que ele vai ter uma Flag especial chamada murch true ele foi mesclado na mental quando é fechado manualmente né quando você clica no botão fechar e fica vermelhinho close e aqui o meu já tá falsa E aí
beleza ele vai passar pro Band nesse caso a gente não precisa de variável tá não tem que ter url de repositório porque não vai fazer nada no hit né essa pessoa não serve sacar ontem mesmo ali para poder ativar de produção e fazer o hot da pode não na minha Space de produção e é que a gente fechou a imagem Nossa aqui usando o técnico aqui para criar uma partilhar incompleta eu não vou eu não trouxe nenhuma nenhuma demo tá acho que enfim primeira arriscado fazer mas Quem Sabe numa próxima aí lá no Twitter lá
enfim pensando em breve fazer alguma coisa relacionada a isso para quem tiver dúvidas ainda que quiser entrar um pouquinho mais desse mundo aqui do técnico tá é referências né muito do que eu aprendi do tecton quando eu tava aprendendo oficial Eu também como eu gostei bastante disso né acabei escrevendo quando eu gosto de uma coisa acabei escrevendo no blog lá aí na comunidade do Devil 2 eu escrevi uma série de post sobre tecton tá lá também e sim cara tem uma live já do games que eu vi também assistir quando eu tava pedindo essa Live
caiu como uma luva para mim que tal o vegetal o Jefferson lotado também dois Brado aí falando sobre o técnico vale muito a pena também é então é quem sou eu resumidamente aqui né então Leandro nas redes sociais ali na comunidade deve também usamos esse mesmo rendam trabalha também que é uma empresa que presta bom serviço assim para clientes e a gente é parceiro né direto por trás da Campus Cold em que realizando um treinamento intensivo de programação para pessoas ali né enfim para que tem interesse em ingressar na área com rubble rains então a
gente apoia bastante assim a gente atua muito aqui na área de Formação aqui de pessoas desenvolvedores estão bem no início de carreira para enfim ajudar a comentar aqui depois ajudar as pessoas a Estão ali na Rebelde acaba atuando essas pessoas a produzirem enfim ter boas práticas e entregarem ele sofre com qualidade e entregar valor para os clientes né Essa é a ideia tecnologia que já trabalhei algumas né Já trabalhei com Java com Lub na parte do tempo trabalha com Rubi e só coloquei depois de grátis Porque eu conheço outros candidatos Mas o que eu mais
gosto é isso sou fãzinho mesmo você fala mal eu fico triste e também né não podia deixar de colocar aqui que são duas ferramentas que eu gosto bastante de explorar fazer laboratório brincar escrever sobre e é isso aqui tem o meu o meu blog o meu site oficial né O que seria falando sobre ontem investe enfim e também aqui depois eu tenho uma série que eu criei no Facebook Para criar aqui uma série que a gente que eu expliquei aqui o fundamento da web então é que tiver interesse depois entrar em eu vou um pouco
na história né que quando eu gosto de explicar um pouco fundamental das coisas então vou lá na história dos computadores modernos ela fala um pouco sobre cartão perfurado então Não esperem aqui nada assim tipo não tutorial de react Não nada disso velho script mas a Tríade web base ele que é o HTML CCS obrigado e muito obrigado demais mano você é louco