• Home
  • Chat IA
  • Recursos
  • Guru IA
  • Professores
Home
Recursos
Chat IA
Professores

·

Engenharia de Software ·

Engenharia de Software

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Trabalho de Programação - Estudo de Caso

23

Trabalho de Programação - Estudo de Caso

Engenharia de Software

UGV

Segurança de Dados

6

Segurança de Dados

Engenharia de Software

UGV

Autenticação e Sessão de Usuário

20

Autenticação e Sessão de Usuário

Engenharia de Software

UGV

Trabalho - Realizar como Está na Explicação e Usar o Anexo como Modelo

11

Trabalho - Realizar como Está na Explicação e Usar o Anexo como Modelo

Engenharia de Software

UGV

Prometheus Grafana e Kubernetes

1

Prometheus Grafana e Kubernetes

Engenharia de Software

UGV

Desenvolvimento Java Cli Sem Banco de Dados

11

Desenvolvimento Java Cli Sem Banco de Dados

Engenharia de Software

UNIVATES

Tutoria para Implementação do App ODSWay em React Native

2

Tutoria para Implementação do App ODSWay em React Native

Engenharia de Software

UNIFAA

Criar Site Gerenciador de Orçamento Pessoal

6

Criar Site Gerenciador de Orçamento Pessoal

Engenharia de Software

UMG

Projeto de Extensão 1 - Engenharia de Software

12

Projeto de Extensão 1 - Engenharia de Software

Engenharia de Software

UNOPAR

Programacao Linear Metodo Grafico Solucao de Problemas com Duas Variaveis

4

Programacao Linear Metodo Grafico Solucao de Problemas com Duas Variaveis

Engenharia de Software

UMG

Texto de pré-visualização

061125 1 Prérequisitos Crie o repositório no GitHub e suba esse projeto Crie um repositório no Docker Hub para a imagem do app Ex Usuário seuusuario Repo monitor imagem final seuusuariomonitor No GitHub Settings Secrets and variables Actions New repository secret crie DOCKERHUBUSERNAME seu usuário do Docker Hub DOCKERHUBTOKEN tokensenha do Docker Hub KUBECONFIGDATA seu kubeconfig em base64 Ex base64 w0 kubeconfig LinuxmacOS ou certutil encode no Windows remova quebras de linha Opcional K8SNAMESPACE namespace alvo ex default Opcional APPPORT se quiser parametrizar porta a tua app expõe 3000 2 Ajustes no projeto 21 Manifests do Kubernetes k8sdeploymentyaml Troque a imagem local por uma imagem do Docker Hub e remova imagePullPolicy Never Exemplo mínimo apiVersion appsv1 kind Deployment metadata name monitor spec 061125 1 replicas 1 selector matchLabels app monitor template metadata labels app monitor spec containers name monitor a tag será atualizada no deploy via kubectl set image image seuusuariomonitorlatest imagePullPolicy IfNotPresent ports containerPort 3000 k8sserviceyaml Já está ok como NodePort para 3000 Se for usar IngressNginx você pode manter isso ou migrar para ClusterIP e expor via Ingress fica a teu critério Os demais manifests prometheusgrafananginx você pode aplicar uma vez e manter estáveis O CD abaixo foca no deploy do app 3 Estrutura dos workflows Criaremos dois workflows CI githubworkflowsciyml testa o Node faz build e publica a imagem no Docker Hub com tags latest e gitsha CD githubworkflowscdyml atualiza a imagem no cluster usando kubectl e o KUBECONFIGDATA Separar CI de CD te dá controle fino ex exigir aprovação no CD com Environments 061125 2 4 CI Build Test Lint opcional e Push Docker Crie githubworkflowsciyml name CI Build Push Docker on push branches main pullrequest branches main permissions contents read packages write jobs ci runson ubuntulatest steps name Checkout uses actionscheckoutv4 name Setup Node uses actionssetupnodev4 with nodeversion 20 name Install deps run if f packagelockjson then npm ci else npm install fi 061125 3 name Run tests se tiver run if npm run grep q test then npm test else echo Sem script de teste Pulando etapa fi Opcional linters name Lint run if npm run grep q lint then npm run lint else echo Sem script lint Pulando fi name Set image tags id vars run echo IMAGEseuusuariomonitor GITHUBOUTPUT echo TAGSHAGITHUBSHA7 GITHUBOUTPUT name Setup QEMU uses dockersetupqemuactionv3 name Setup Buildx uses dockersetupbuildxactionv3 name Login to DockerHub uses dockerloginactionv3 with username secretsDOCKERHUBUSERNAME password secretsDOCKERHUBTOKEN name Build Push uses dockerbuildpushactionv6 with 061125 4 context file dockerfile push true tags stepsvarsoutputsIMAGE latest stepsvarsoutputsIMAGE stepsvarsoutputsTAGSHA cachefrom typeregistryref stepsvarsoutputsIMAGE build cache cacheto typeregistryref stepsvarsoutputsIMAGE buildcac hemodemax O que faz Instala deps e se existir roda npm test Builda e faz push da imagem do teu app para seuusuariomonitor com duas tags latest abcdefg primeiros 7 chars do SHA 5 CD Deploy no Kubernetes Crie githubworkflowscdyml name CD Deploy to Kubernetes on workflowrun workflows CI Build Push Docker types completed permissions contents read jobs deploy if githubeventworkflowrunconclusion success 061125 5 runson ubuntulatest environment production opcional exige aprovação steps name Checkout uses actionscheckoutv4 name Set vars id vars run echo IMAGEseuusuariomonitor GITHUBOUTPUT echo TAGSHAGITHUBSHA7 GITHUBOUTPUT echo NAMESPACE secretsK8SNAMESPACE default GITHUBOUTPUT name Setup kubectl uses azuresetupkubectlv4 with version latest name Configure kubeconfig run mkdir p HOMEkube echo secretsKUBECONFIGDATA base64 d HOMEku beconfig name Create namespace if not exists run kubectl get ns stepsvarsoutputsNAMESPACE kubectl create ns stepsvarsoutputsNAMESPACE Aplicagarante os serviçosingressetc estáticos opcional na primeir a vez name Apply base manifests Service Prometheus Grafana Nginx run kubectl apply n stepsvarsoutputsNAMESPACE f k8sservic eyaml true kubectl apply n stepsvarsoutputsNAMESPACE f k8spromet heusdeploymentyaml true 061125 6 kubectl apply n stepsvarsoutputsNAMESPACE f k8sgrafan adeploymentyaml true kubectl apply n stepsvarsoutputsNAMESPACE f k8snginx deploymentyaml true kubectl apply n stepsvarsoutputsNAMESPACE f k8snginx serviceyaml true kubectl apply n stepsvarsoutputsNAMESPACE f k8spromet heusconfigyaml true Aplicagarante o Deployment se ainda não existir name Apply app deployment first time run kubectl apply n stepsvarsoutputsNAMESPACE f k8sdeploy mentyaml Atualiza a imagem para a tag nova idempotente name Set image to new tag run kubectl set image deploymentmonitor monitor stepsvarsoutput sIMAGE stepsvarsoutputsTAGSHA n stepsvarsoutputsNA MESPACE name Wait rollout run kubectl rollout status deploymentmonitor n stepsvarsoutputsN AMESPACE timeout120s name Show services debug run kubectl get svc n stepsvarsoutputsNAMESPACE kubectl get pods o wide n stepsvarsoutputsNAMESPACE Notas importantes O job dispara quando o CI termina com sucesso Se preferir simplificar você pode trocar o gatilho por on push branches main também no CD 061125 7 O passo Apply base manifestsˮ roda com true para não quebrar caso você já tenha aplicado antes O deploy do app é feito com kubectl set image usando a tag do commit do pipeline 6 Opcional Parâmetros e variáveis de ambiente Se teu serverjs usa variáveis ex porta endpoints Prometheus etc definaas no Deployment env name PORT value 3000 name NODEENV value production Para segredos sensíveis use Secrets do Kubernetes crie Secret e referencie via valueFromsecretKeyRef 7 Primeiro deploy manual rodar uma vez No seu PC ou via Actions mesmo aplica serviços e configs fixasˮ kubectl apply f k8sserviceyaml kubectl apply f k8sprometheusconfigyaml kubectl apply f k8sprometheusdeploymentyaml kubectl apply f k8sgrafanadeploymentyaml kubectl apply f k8snginxdeploymentyaml kubectl apply f k8snginxserviceyaml aplica o deployment do app uma vez 061125 8 kubectl apply f k8sdeploymentyaml depois deixe o Actions cuidar das atualizações de imagem 8 Validando o fluxo pontaaponta Push na branch main CI Vê no GitHub Actions CI Build Push Dockerˮ Deve compilar e publicar seuusuariomonitorlatest e abcdefg CD Após CI abre CD Deploy to Kubernetesˮ Ele deve aplicar se preciso e rodar kubectl set image deploymentmonitor monitorseuusuariomonitorabcdefg Verifique o rollout kubectl get deploypodssvc n namespace Acesso Se Service é NodePort pegue kubectl get svc monitorservice o wide e acesse nodeIPnodePort Se tiver NginxIngress acesse pelo hostingress que você configurou 9 Dicas de produção Trave Node para 18 ou 20 e fixe versões de libs pra build reprodutível Adicione testes mesmo básicos e rode no CI Use Environments do GitHub stagingprod para gates de aprovação Se quiser rollback kubectl rollout undo deploymentmonitor n namespace Para métricas exponha metrics no serverjs e adicione scrape no prometheus configyaml 061125 9 10 TLDR resumo do que criaralterar Secrets GitHub DOCKERHUBUSERNAME DOCKERHUBTOKEN KUBECONFIGDATA K8SNAMESPACE opcional dockerfile preferir npm ci k8sdeploymentyaml image seuusuariomonitorlatest e imagePullPolicy IfNotPresent githubworkflowsciyml build push Docker githubworkflowscdyml kubectl set image com a tag do commit rollout 061125 10

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Trabalho de Programação - Estudo de Caso

23

Trabalho de Programação - Estudo de Caso

Engenharia de Software

UGV

Segurança de Dados

6

Segurança de Dados

Engenharia de Software

UGV

Autenticação e Sessão de Usuário

20

Autenticação e Sessão de Usuário

Engenharia de Software

UGV

Trabalho - Realizar como Está na Explicação e Usar o Anexo como Modelo

11

Trabalho - Realizar como Está na Explicação e Usar o Anexo como Modelo

Engenharia de Software

UGV

Prometheus Grafana e Kubernetes

1

Prometheus Grafana e Kubernetes

Engenharia de Software

UGV

Desenvolvimento Java Cli Sem Banco de Dados

11

Desenvolvimento Java Cli Sem Banco de Dados

Engenharia de Software

UNIVATES

Tutoria para Implementação do App ODSWay em React Native

2

Tutoria para Implementação do App ODSWay em React Native

Engenharia de Software

UNIFAA

Criar Site Gerenciador de Orçamento Pessoal

6

Criar Site Gerenciador de Orçamento Pessoal

Engenharia de Software

UMG

Projeto de Extensão 1 - Engenharia de Software

12

Projeto de Extensão 1 - Engenharia de Software

Engenharia de Software

UNOPAR

Programacao Linear Metodo Grafico Solucao de Problemas com Duas Variaveis

4

Programacao Linear Metodo Grafico Solucao de Problemas com Duas Variaveis

Engenharia de Software

UMG

Texto de pré-visualização

061125 1 Prérequisitos Crie o repositório no GitHub e suba esse projeto Crie um repositório no Docker Hub para a imagem do app Ex Usuário seuusuario Repo monitor imagem final seuusuariomonitor No GitHub Settings Secrets and variables Actions New repository secret crie DOCKERHUBUSERNAME seu usuário do Docker Hub DOCKERHUBTOKEN tokensenha do Docker Hub KUBECONFIGDATA seu kubeconfig em base64 Ex base64 w0 kubeconfig LinuxmacOS ou certutil encode no Windows remova quebras de linha Opcional K8SNAMESPACE namespace alvo ex default Opcional APPPORT se quiser parametrizar porta a tua app expõe 3000 2 Ajustes no projeto 21 Manifests do Kubernetes k8sdeploymentyaml Troque a imagem local por uma imagem do Docker Hub e remova imagePullPolicy Never Exemplo mínimo apiVersion appsv1 kind Deployment metadata name monitor spec 061125 1 replicas 1 selector matchLabels app monitor template metadata labels app monitor spec containers name monitor a tag será atualizada no deploy via kubectl set image image seuusuariomonitorlatest imagePullPolicy IfNotPresent ports containerPort 3000 k8sserviceyaml Já está ok como NodePort para 3000 Se for usar IngressNginx você pode manter isso ou migrar para ClusterIP e expor via Ingress fica a teu critério Os demais manifests prometheusgrafananginx você pode aplicar uma vez e manter estáveis O CD abaixo foca no deploy do app 3 Estrutura dos workflows Criaremos dois workflows CI githubworkflowsciyml testa o Node faz build e publica a imagem no Docker Hub com tags latest e gitsha CD githubworkflowscdyml atualiza a imagem no cluster usando kubectl e o KUBECONFIGDATA Separar CI de CD te dá controle fino ex exigir aprovação no CD com Environments 061125 2 4 CI Build Test Lint opcional e Push Docker Crie githubworkflowsciyml name CI Build Push Docker on push branches main pullrequest branches main permissions contents read packages write jobs ci runson ubuntulatest steps name Checkout uses actionscheckoutv4 name Setup Node uses actionssetupnodev4 with nodeversion 20 name Install deps run if f packagelockjson then npm ci else npm install fi 061125 3 name Run tests se tiver run if npm run grep q test then npm test else echo Sem script de teste Pulando etapa fi Opcional linters name Lint run if npm run grep q lint then npm run lint else echo Sem script lint Pulando fi name Set image tags id vars run echo IMAGEseuusuariomonitor GITHUBOUTPUT echo TAGSHAGITHUBSHA7 GITHUBOUTPUT name Setup QEMU uses dockersetupqemuactionv3 name Setup Buildx uses dockersetupbuildxactionv3 name Login to DockerHub uses dockerloginactionv3 with username secretsDOCKERHUBUSERNAME password secretsDOCKERHUBTOKEN name Build Push uses dockerbuildpushactionv6 with 061125 4 context file dockerfile push true tags stepsvarsoutputsIMAGE latest stepsvarsoutputsIMAGE stepsvarsoutputsTAGSHA cachefrom typeregistryref stepsvarsoutputsIMAGE build cache cacheto typeregistryref stepsvarsoutputsIMAGE buildcac hemodemax O que faz Instala deps e se existir roda npm test Builda e faz push da imagem do teu app para seuusuariomonitor com duas tags latest abcdefg primeiros 7 chars do SHA 5 CD Deploy no Kubernetes Crie githubworkflowscdyml name CD Deploy to Kubernetes on workflowrun workflows CI Build Push Docker types completed permissions contents read jobs deploy if githubeventworkflowrunconclusion success 061125 5 runson ubuntulatest environment production opcional exige aprovação steps name Checkout uses actionscheckoutv4 name Set vars id vars run echo IMAGEseuusuariomonitor GITHUBOUTPUT echo TAGSHAGITHUBSHA7 GITHUBOUTPUT echo NAMESPACE secretsK8SNAMESPACE default GITHUBOUTPUT name Setup kubectl uses azuresetupkubectlv4 with version latest name Configure kubeconfig run mkdir p HOMEkube echo secretsKUBECONFIGDATA base64 d HOMEku beconfig name Create namespace if not exists run kubectl get ns stepsvarsoutputsNAMESPACE kubectl create ns stepsvarsoutputsNAMESPACE Aplicagarante os serviçosingressetc estáticos opcional na primeir a vez name Apply base manifests Service Prometheus Grafana Nginx run kubectl apply n stepsvarsoutputsNAMESPACE f k8sservic eyaml true kubectl apply n stepsvarsoutputsNAMESPACE f k8spromet heusdeploymentyaml true 061125 6 kubectl apply n stepsvarsoutputsNAMESPACE f k8sgrafan adeploymentyaml true kubectl apply n stepsvarsoutputsNAMESPACE f k8snginx deploymentyaml true kubectl apply n stepsvarsoutputsNAMESPACE f k8snginx serviceyaml true kubectl apply n stepsvarsoutputsNAMESPACE f k8spromet heusconfigyaml true Aplicagarante o Deployment se ainda não existir name Apply app deployment first time run kubectl apply n stepsvarsoutputsNAMESPACE f k8sdeploy mentyaml Atualiza a imagem para a tag nova idempotente name Set image to new tag run kubectl set image deploymentmonitor monitor stepsvarsoutput sIMAGE stepsvarsoutputsTAGSHA n stepsvarsoutputsNA MESPACE name Wait rollout run kubectl rollout status deploymentmonitor n stepsvarsoutputsN AMESPACE timeout120s name Show services debug run kubectl get svc n stepsvarsoutputsNAMESPACE kubectl get pods o wide n stepsvarsoutputsNAMESPACE Notas importantes O job dispara quando o CI termina com sucesso Se preferir simplificar você pode trocar o gatilho por on push branches main também no CD 061125 7 O passo Apply base manifestsˮ roda com true para não quebrar caso você já tenha aplicado antes O deploy do app é feito com kubectl set image usando a tag do commit do pipeline 6 Opcional Parâmetros e variáveis de ambiente Se teu serverjs usa variáveis ex porta endpoints Prometheus etc definaas no Deployment env name PORT value 3000 name NODEENV value production Para segredos sensíveis use Secrets do Kubernetes crie Secret e referencie via valueFromsecretKeyRef 7 Primeiro deploy manual rodar uma vez No seu PC ou via Actions mesmo aplica serviços e configs fixasˮ kubectl apply f k8sserviceyaml kubectl apply f k8sprometheusconfigyaml kubectl apply f k8sprometheusdeploymentyaml kubectl apply f k8sgrafanadeploymentyaml kubectl apply f k8snginxdeploymentyaml kubectl apply f k8snginxserviceyaml aplica o deployment do app uma vez 061125 8 kubectl apply f k8sdeploymentyaml depois deixe o Actions cuidar das atualizações de imagem 8 Validando o fluxo pontaaponta Push na branch main CI Vê no GitHub Actions CI Build Push Dockerˮ Deve compilar e publicar seuusuariomonitorlatest e abcdefg CD Após CI abre CD Deploy to Kubernetesˮ Ele deve aplicar se preciso e rodar kubectl set image deploymentmonitor monitorseuusuariomonitorabcdefg Verifique o rollout kubectl get deploypodssvc n namespace Acesso Se Service é NodePort pegue kubectl get svc monitorservice o wide e acesse nodeIPnodePort Se tiver NginxIngress acesse pelo hostingress que você configurou 9 Dicas de produção Trave Node para 18 ou 20 e fixe versões de libs pra build reprodutível Adicione testes mesmo básicos e rode no CI Use Environments do GitHub stagingprod para gates de aprovação Se quiser rollback kubectl rollout undo deploymentmonitor n namespace Para métricas exponha metrics no serverjs e adicione scrape no prometheus configyaml 061125 9 10 TLDR resumo do que criaralterar Secrets GitHub DOCKERHUBUSERNAME DOCKERHUBTOKEN KUBECONFIGDATA K8SNAMESPACE opcional dockerfile preferir npm ci k8sdeploymentyaml image seuusuariomonitorlatest e imagePullPolicy IfNotPresent githubworkflowsciyml build push Docker githubworkflowscdyml kubectl set image com a tag do commit rollout 061125 10

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2026 Meu Guru® • 42.269.770/0001-84