====== Nova Devops ====== A Nova Devops é o movimento que busca fornecer aos desenvolvedores da DevTIC uma maior autonomia na realização de tarefas relacionadas à infraestrutura necessárias ao desenvolvimento de seus softwares. Isso se dá por meio do forte uso de orquestração de contêineres. ===== Cluster swarm-devops ===== O cluster swarm-devops é um cluster [[https://docs.docker.com/engine/swarm/|Docker Swarm]] dedicado para devops. Ele pode ser acessado através da interface Web https://portainer.tic.ufrj.br. ==== Escopo ==== * implantação de softwares de apoio ao desenvolvimento. Por exemplo: (jenkins, graylog, grafana etc.). * implantação de ambientes de não-produção (desenvolvimento ou homologação). * implantação de bases de dados efêmeras (que não precisam de backup nem equipe especializada de apoio). ==== Proxy reverso ==== O cluster swarm-devops utiliza o [[https://www.haproxy.com/|HAProxy]] como [[devops:proxy_reverso|proxy reverso]] para expor suas aplicações Web. A configuração desse ''haproxy'' é realizada automagicamente através da anotação dos serviços com [[https://docs.docker.com/config/labels-custom-metadata/|rótulos]] específicos. ==== Gerenciamento de certificados ==== !!! Em construção !!! ===== Operações elementares ===== * [[devops:subir_stack|Subir uma stack]] * [[devops:remover_stack|Remover uma stack]] * [[devops:atualizar_stack|Atualizar uma stack]] * [[devops:reverter_stack|Reverter uma stack para o seu estado anterior]] * [[devops:ver_logs_servico|Ver os logs de um servico]] * [[devops:interromper_servico|Interromper um servico]] * [[devops:retomar_servico|Retomar um servico]] * [[devops:criar_volume|Criar um volume]] * [[devops:visualizar_volume|Visualizar um volume]] * [[devops:remover_volume|Remover um volume]] ===== Operações comuns ===== * [[devops:configurar_proxy_reverso|Configurar o proxy reverso para um serviço]] ===== Receitas de construção de imagens Docker ===== * [[devops:dockerfile:conteudo_web|Dockerfile para servir conteúdo web estático]] * [[devops:dockerfile:nodejs|Dockerfile para servir aplicação nodejs]] * [[devops:dockerfile:php|Dockerfile para servir aplicação php]] * [[devops:dockerfile:jar|Dockerfile para servir .jar]] * [[devops:dockerfile:war|Dockerfile para servir .war]] ===== Guias devops ===== * [[devops:subir_app_php|Subir aplicação PHP]] * [[devops:subir_app_laravel|Subir aplicação Laravel]] * [[devops:subir_app_node|Subir aplicação Node]] * [[devops:subir_app_java|Subir aplicação Java]] * [[devops:subir_wordpress|Subir Wordpress]] * [[devops:subir_base_mysql|Subir base MySQL]] * [[devops:subir_base_mysql|Subir base MongoDB]] * [[devops:subir_base_postgres|Subir base Postgres]] **Este conteúdo pode estar no material específico sobre mongo**. ===== MongoDB ===== Visto que a versão 5.0 requer AVX ((https://docs.mongodb.com/v5.0/administration/production-notes)). Visto que não há pacotes oficiais no ArchLinux e no Linux Alpine ((https://wiki.archlinux.org/title/MongoDB)). Usamos a versão 4 do MongoDB.