Тёмный

Fazendo deploy de um projeto real em Golang 

Filho da nuvem
Подписаться 42 тыс.
Просмотров 7 тыс.
50% 1

Nesse vídeo eu mostro como faço deploy de um projeto real usando Go, Docker e Render.com.
🔗Links úteis
* O que é um deploy • O que é um DEPLOY?
Evolua com desafios técnicos inspirados em testes reais de empresas de tecnologia:
💪 devgym.com.br/
🏆Melhores vídeos do cana sobrel:
* Dev em Portugal 2021 • 3 mitos sobre uma carr...
* Dev em Portugal 2019-2020 • Dev em Portugal 2019-2020
* Minha história contada em vídeos: • Minha 1a entrevista pr...
* Meus testes práticos • Meu TESTE PRÁTICO em P...
* Entrevistas de emprego • #1 Como é uma ENTREVIS...
* Testes automatizados • Testes na programação ...
* Como começar a programar • Escrevendo seu PRIMEIR...
▶️ Redes sociais
Instagram: / filhodanuvem
Twitter: / filhodanuvem
GitHub: github.com/filhodanuvem
🎥 Equipamentos usados nesse vídeo
Amazon Brasil:
Microfone: amzn.to/3zujQII
Câmera (lente kit padrão): amzn.to/2UQspip
Tripé: amzn.to/2UM6Xv4
🕰Capítulos

Наука

Опубликовано:

 

5 мар 2023

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 82   
@alvarooliveira5670
@alvarooliveira5670 Год назад
Claudson, não sei se já te falaram isso, mas nem todo herói usa capa. Que o universo te abençoe meu filho.
@Filhodanuvem
@Filhodanuvem Год назад
Hahahaha 🦸🏾‍♂️ valeuu
@gustavogonzalezdev
@gustavogonzalezdev 2 дня назад
Mas muito tempo que não assisto teus vídeos, mas sinceramente, excelente didática. Vou me inspirar em você e preparar minhas apresentações assim, video fantástico, parabéns!
@Filhodanuvem
@Filhodanuvem 21 час назад
Opa, que legal que você curtiu a esse ponto cara. Valeu pelo comentário.
@eduardylopes3593
@eduardylopes3593 11 месяцев назад
Claudson, parabéns videos muito bem elaborados e didáticos. Você tem sucesso certo.
@Filhodanuvem
@Filhodanuvem 11 месяцев назад
Valeu Ed!!
@brunonairlanda
@brunonairlanda Год назад
sempre com muita qualidade.
@Filhodanuvem
@Filhodanuvem Год назад
❤️ 💪🏾
@eliezerbrasilian3881
@eliezerbrasilian3881 Год назад
A sua explicação é muito boa, eu nem sou desenvolvedor em GO só assisti o vídeo pra ver como funciona e tal e gostei bastante. Sucesso
@Filhodanuvem
@Filhodanuvem Год назад
Legalll 💯 . Eu fico feliz com isso. Gosto de pensar que muitas vezes eu tô falando de uma tecnologia como um exemplo, mas os conceitos dela ou ao redor é o que importa.
@RafaelAlvesFeliciano
@RafaelAlvesFeliciano Год назад
Muito bom o video. Estou gostando dessa séria de go e até peguei para estudar um pouco. Essa parte de deploy / CI de uma aplicação web é bem diferente do que eu trabalho diariamente (mobile). Isso é muito interessante. Ansioso pelos próximos videos. Parabéns pela explicação.
@Filhodanuvem
@Filhodanuvem Год назад
Valeuu Rafael. Legal que tu também está se aventurando em go. Eu preciso tirar um tempo pra fazer o caminho contrário, deve ser muito diferente mesmo.
@edmarbregagnoli9644
@edmarbregagnoli9644 Год назад
Didática excepcional. parabéns 🎉
@Filhodanuvem
@Filhodanuvem Год назад
Valeuuuuu Edmar 🎉
@veronez9846
@veronez9846 Год назад
heroi demais, virei fã do canal!!
@Filhodanuvem
@Filhodanuvem Год назад
Opa. Vem mais aí nessa pegada
@williamlibero2622
@williamlibero2622 3 месяца назад
Sensacional, já dei like e me inscrevi!
@Filhodanuvem
@Filhodanuvem 3 месяца назад
Valeuu, bem vindo William
@dionisiofares6237
@dionisiofares6237 3 месяца назад
Nossa!! Tu explica tão bem. Parabéns!!! Ganhou um inscrito
@Filhodanuvem
@Filhodanuvem 3 месяца назад
Opa, bem vindo cara, que bom que curtiu
@VitorAdonaicps
@VitorAdonaicps 3 месяца назад
Você tem uma didática excelente, parabéns!
@Filhodanuvem
@Filhodanuvem 3 месяца назад
Muito obrigado Vitor
@barbaneigro
@barbaneigro Год назад
o omi eh brabo d+, apenas. haha
@Filhodanuvem
@Filhodanuvem Год назад
Hahahahaa
@FelipeNevesTV
@FelipeNevesTV Год назад
Muito top
@Filhodanuvem
@Filhodanuvem Год назад
Valeuuu Felipe
@thallesrangel1241
@thallesrangel1241 10 месяцев назад
Top!
@Filhodanuvem
@Filhodanuvem 10 месяцев назад
Aí sim, tô vendo uma maratona rolando aí
@frny12
@frny12 11 месяцев назад
Claudson, Parabéns. Gostei muito do vídeo! Não conheço o princípios do "12 Factor".
@Filhodanuvem
@Filhodanuvem 11 месяцев назад
Valeuu por comentar, vou preparar esse vídeo
@brunolorena6176
@brunolorena6176 Год назад
Fala mais sobre o princípio 12 factor!
@Filhodanuvem
@Filhodanuvem Год назад
Opa, valeu por dizer, vou falar
@alcancebrasil4467
@alcancebrasil4467 Год назад
Mais um vídeo sensacional. Cade o like galera? 👍
@Filhodanuvem
@Filhodanuvem Год назад
Valeuuuu
@LeonardoPaduaDiniz
@LeonardoPaduaDiniz Год назад
Fala um pouco mais sobre o princípio 12 factor!
@Filhodanuvem
@Filhodanuvem Год назад
Opa, vou fazer, valeuu
@giorgiojoseotto5032
@giorgiojoseotto5032 9 месяцев назад
Opa. faz um video falando da experiencia sua com cockroachdb e comportamento em prod?
@Filhodanuvem
@Filhodanuvem 9 месяцев назад
Opa, vou pensar em algo, a princípio não me vem muita coisa na cabeça. O cockroach tem várias features únicas mas pra Devgym ele é usado da forma mais padrão possível, não tem nada de especial pra contar de experiência ainda 🤔
@pauloafpjunior
@pauloafpjunior Год назад
Está ficando muito legal essa série. Tenho uma dúvida sobre como você configura seu ambiente local de desenvolvimento. Você também usa docker?
@Filhodanuvem
@Filhodanuvem Год назад
Valeu pela pergunta Paulo, isso da um vídeo bem legal e não tinha pensando nisso. Basicamente sim, uso docker local, tenho um arquivo docker-compose que define o mínimo de infraestrutura que preciso pra rodar (um banco de dados, o projeto em go e etc.) , quando rodo docker-compose up ele sobe o projeto pra mim usando a mesma imagem docker que usarei em prod. Faz sentido ?
@pauloafpjunior
@pauloafpjunior Год назад
@@Filhodanuvem Faz muito sentido pra mim. Você usa aquele recurso do VSCode (acho que é remote container) para entrar no seu container e codar?
@Filhodanuvem
@Filhodanuvem Год назад
Não, entrar no container não resolveria porque o código go não está dentro dele, só o executável. Eu tenho um container com um volume apontado pra meus código go, e ele e configurado com o live reload air do go, toda vez que eu salvo os arquivos na minha máquina, o container recompila a aplicação e restarta ela.
@pauloafpjunior
@pauloafpjunior Год назад
@@Filhodanuvem Show. Daria um vídeo legal sobre isso, hein!?
@Filhodanuvem
@Filhodanuvem Год назад
Pois é, vou pensar em como colocar isso num vídeo, valeuuu
@setupdoantunes
@setupdoantunes 9 месяцев назад
Sensacional ❤ O vídeo da pipe já saiu?
@Filhodanuvem
@Filhodanuvem 9 месяцев назад
opa, ja sim é esse aqui (que esta numa playlist) ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-hqkv4LRpaW4.html&pp=gAQBiAQB
@kameikay
@kameikay 9 месяцев назад
Fala, Claudson! Beleza? Onde hospedou seu db? Seria legal, caso não tenha ainda, fazer um vídeo sobre deploy de db e redis para cache. Grande abraço!
@Filhodanuvem
@Filhodanuvem 9 месяцев назад
Fala mano, eu uso o cockroachdb, falei mais sobre banco em outros vídeos da playlist tipo esse daqui mas se ficar alguma dúvida me diz que faço outro Como eu rodo um projeto real em Golang na minha máquina ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-W1ET894vnrs.html
@kameikay
@kameikay 9 месяцев назад
@@Filhodanuvem isso! Eu vi esse vídeo sim! Mas, seria bacana (pra mim, pelo menos hehe) um vídeo do deploy de um db, fazendo as migrations, conexão com backend. Por exemplo: o backend em go está no render. E o db? Como fez as migrations? Usou o docker-composer em prod ou apenas no desenvolvimento. Grande abraço
@Filhodanuvem
@Filhodanuvem 9 месяцев назад
@kameikay saquei. Vou responder aqui pra você não ter que esperar até um vídeo futuro. Eu não preciso fazer deploy do banco porque o banco em produção funciona como um serviço, eu criei uma conta na cockroachdb, pedi pra eles criarem um banco pra mim, peguei as credenciais pra se conectar nesse banco e passei como variável de ambiente no container da Devgym em prod. Então o banco é como um serviço da Amazon rds, eu não tenho os detalhes de onde ele está rodando (até posso escolher a região do mundo e tals, mas sem muito controle da máquina onde ele está rodando). Como isso eu não preciso de docker-compose em produção, eu preciso rodar meu container go e preencher as variáveis de ambiente necessárias.
@kameikay
@kameikay 9 месяцев назад
@@Filhodanuvem ah! Perfeito! Estou fazendo isso também, mas estou me batendo nas migrations. Já deu uma luz boa! Agradeço! Abraço
@kalogs13
@kalogs13 Год назад
Pq na stage binary do seu dockerfile vc usou a imagem do alpine ao invés da imagem scratch? Tem algum ponto negativo de usar ela, ou um ponto positivo de usar a alpine?
@Filhodanuvem
@Filhodanuvem Год назад
Boa pergunta. Eu ainda não investi em deixar a imagem o menor possível, isso vai me salvar tempo de build e deploy mas ainda não tem sido um problema. De qualquer forma existe sim diferença entra scratch e alpine, o scratch é a menor imagem possível mas ele não vem com várias coisas que são importantes pro funcionamento da Devgym (e pra maioria dos projetos eu diria) como o pacote tzdata pra conseguir trabalhar com timezones em go e os ca certificates , como eu me conecto com tls em alguns serviços tipo o banco preciso deles. Eu poderia usar a scratch e instalar essas coisas em cima dela mas 1) não parei pra fazer isso 2) não sei se tem mais pacotes ou suportes que eu deixaria de ter quando migrar da alpine pra ela.
@brunomelo1249
@brunomelo1249 Год назад
cara! compartilha conosco como você usa injeção de dependência, abs!
@Filhodanuvem
@Filhodanuvem Год назад
Honestamente, não uso haha. Provavelmente sua pergunta era mais direcionada a um container de injeção de dependências. Em go existem alguns tipo o wire mas em geral não vejo grande desvantagem em declarar absolutamente tudo que quero manualmente e acabo fazendo assim.
@vnxcius
@vnxcius 11 месяцев назад
Cara por favor me tira uma dúvida que me surgiu aqui. Se eu hospedasse uma api em go com docker num vps que não possui suporte nativo pro Go, ele funcionaria normal? Eu estou tentando entender pra que serve o docker afinal, comecei há pouco tempo
@Filhodanuvem
@Filhodanuvem 11 месяцев назад
A magia do docker é, se você tem docker, pode usar go, Python e várias outras tecnologias dentro do docker. Nao precisa instalar o go na máquina física vps porque você vai ter ele instalado no container docker.
@vnxcius
@vnxcius 11 месяцев назад
@@Filhodanuvem Po mano muito obrigado por responder tão rápido. Seus vídeos têm me ajudado muito, estou me tornando dev Go e seu canal explica bastante coisa. Muito obrigado!!!! ❤️
@witalok2
@witalok2 Год назад
Second hehehehe
@Filhodanuvem
@Filhodanuvem Год назад
🥈🥈🥈🥈
@whalyf1
@whalyf1 2 месяца назад
Como fazer deploy na VERCEL? Trata-se de um projeto simples para desafio técnico. Possuo apenas duas chaves/variaveis de ambiente.
@Filhodanuvem
@Filhodanuvem 2 месяца назад
Acho que a vercel so suporta serverless em go, tem que ver a documentação deles pra colocar o projeto no padrão necessário. Mas assim, o forte da vercel é javascript, por que rodar go lá?
@whalyf1
@whalyf1 2 месяца назад
@@Filhodanuvem Sim sim, estou habituado a utilizar Vercel para aplicações NEST, NEXT, REACT-VITE. Gostaria de realizar o deploy de forma mais simplificada sem containers por exemplo como foi o contexto desse seu vídeo. Já fiz o código, está no github. Por se tratar de um 'bot' para processamento de informações, utilizo apenas duas VARIAVEIS DE AMBIENTE. O projeto é composto por main.go, go.sum, .env e go.mod. Agora uma das etapas do desafio técnico é justamente deixar essa api disponível para ser consumida por uma aplicação REACT. Como faço esse deploy de forma mais simplificada?
@Filhodanuvem
@Filhodanuvem 2 месяца назад
@whalyf1 eu nunca coloquei um projeto go na vercel, mas acho que essa doc aqui ajuda bastante vercel.com/docs/functions/runtimes/go
@whalyf1
@whalyf1 2 месяца назад
@@Filhodanuvem Estive tentando por esse método mas sem sucesso até então. Se você puder me apresentar uma outra alternativa de deploy eu posso tentar aqui.
@Filhodanuvem
@Filhodanuvem 2 месяца назад
@whalyf1 na vercel não tem outra forma que eu conheça. Tenta seguir os tutoriais da render pra fazer deploy, de repente é mais fácil tu estudar um pouco de docker. Tenho esse projeto aqui que sobe uma api crud simples github.com/filhodanuvem/ytgoapi
@rafael.aloizio1769
@rafael.aloizio1769 10 месяцев назад
Fala cara, eu gosto muito de como tu explica, mas tu precisa mudar essa dinâmica do vídeo, essa tela em 50/50 tá ruim, o código devia estar em evidência não vc... Aí fica muito pequeno e perde qualidade sem um motivo justo, visto que o canal é sobre tecnologia e desenvolvimento de software, ninguém precisa ficar vendo tu em 50% da tela 😂😂😂. Mas fora isso, continue o excelente trabalho e qualidade técnica. Tu merece muito
@Filhodanuvem
@Filhodanuvem 10 месяцев назад
Muito obrigado pelo feedback Rafael, vou mudar.
@YasukeSam
@YasukeSam Год назад
Windows e mac são arquiteturas diferentes?
@Filhodanuvem
@Filhodanuvem Год назад
Sao sim. Se fossem exatamente a mesma arquitetura você conseguiria pegar num .exe do Windows e rodar no Mac ou vice-versa.
@fabricioaraujo7642
@fabricioaraujo7642 Год назад
Cara ce fez seu front no go mesmo? Na mão?
@Filhodanuvem
@Filhodanuvem Год назад
O go recebe as requisições http, faz processamentos (por exemplo ir no banco de dados pra buscar informação) e depois usa o resultado do processamento para construir o html que vai ser mostrado pro usuário. Então o front é html com algumas partes dinâmicas que mudam de acordo com o processamento do go.
@fabricioaraujo7642
@fabricioaraujo7642 Год назад
@@Filhodanuvemah sim muito bom cara sempre achei o templates do go muito subestimado hahah
@Filhodanuvem
@Filhodanuvem Год назад
Hahaha ja trabalhei com uns template engine mais poderosos mas ele atende o básico sim. Da pra usar de boa :)
@rodpag
@rodpag Год назад
Não ficaria mais em conta rodar o projeto diretamente em um PaaS como gcp ou aws?
@Filhodanuvem
@Filhodanuvem Год назад
Em conta financeiramente? eu pessoalmente acho mais difícil ter uma previsibilidade de custos numa cloud maior porque teria que levar em conta os custos dos vários produtos (dns, instância que roda o produto…). Não consigo ver muita vantagem usar uma cloud desde o dia 1 comparado com o lado negativo.
@rodpag
@rodpag Год назад
@@Filhodanuvem Eu imagino que a Render utilize um desses serviços por trás. Eu posso estar falando besteira tá (rs), mas recentemente fiz um curso de cloud development da google e fiquei cheio de ideias. Se não me engano, uma máquina daquelas que você escolheu ali é provisionada grátis pra todos os projetos no gcp.
@Filhodanuvem
@Filhodanuvem Год назад
Eu também não conheço a fundo. Elas não são grátis no free tier por um ano? Eu lembro de ter usado os free tier da aws, gcp e azure.
@rodpag
@rodpag Год назад
@@Filhodanuvem o gcp te dá 300 dolares de crédito válidos por 1 ano, mas que todo projeto tem uma instancia e2micro grátis
@rodpag
@rodpag Год назад
@@Filhodanuvem Eu vi que sua aplicação é pra galera aprender eu era dentista e decidi que queria trabalhar com desenvolvimento de software graças a pessoas como você que disponibilizam conteúdo online, eu consegui fazer essa transição de carreira de forma autônoma adoraria poder contribuir com a comunidade, então se quiser, eu posso ver isso da infra com você seria um prazer
Далее
Github actions CI/CD de um projeto real em Go
23:42
Просмотров 2,1 тыс.
Каха и суп
00:39
Просмотров 1,9 млн
Would you help?!😳
00:32
Просмотров 3,2 млн
Backend não é só CRUD (e eu posso provar)
11:54
Просмотров 8 тыс.
Testes end to end em um projeto real em Go (cypress)
13:06
Quanto faturei (e gastei) no meu primeiro SAAS em 2023
13:00
This Is The BEST Way To Structure Your GO Projects
11:08
Improve Go Concurrency Performance With This Pattern
34:16