Code Monkey home page Code Monkey logo

deploy-manager's Introduction

API Gerenciador de Deploys Aplicação 🧑🏽‍💼

O projeto do Gerenciador de Deploys de Aplicação tem como objetivo criar uma ferramenta que facilite e gerencie os informações deploys de aplicações.

Tecnologias utilizadas 🪄

Insomnia Java Java Spring Web Lombok Spring DevTools Arquitetura REST PostgresSQL

Como instalar 🔑

Para configurar o projeto Deploy-manager, siga as instruções abaixo:

Backend (Spring Boot);

Ambiente DEVELOPER

  1. Entrar na pasta do backend:

    cd backend
  2. Configurar o arquivo application.properties para as configurações do banco de dados (localizado em src/main/resources):

    # HIBERNATE
    spring.datasource.url=jdbc:postgresql://localhost:5432/db_deploy_manager
    spring.datasource.username=admin
    spring.datasource.password=admin
    
    # SERVER
    server.error.include-stacktrace=never
    server.port=8081
    server.servlet.contextPath=/api
    
    # TOKENS
    api.security.token.secret=${JWT_Secret:joao}
  3. Construir o projeto com Maven:

    ./mvnw clean install
  4. Iniciar o servidor Spring Boot:

    ./mvnw spring-boot:run

Ambiente PRODUCTION DOCKER

  1. Crie uma pasta chamada db neste diretório.

  2. Dentro desta pasta, crie dois arquivos: db.env com as seguintes informações:

     ```
     POSTGRES_USER=nome_usuario
     POSTGRES_PASSWORD=senha
     
     ```
    

    init.sql com os seguintes comandos: -- Substitua nome_usuario pelo nome do usuário selecionado para a aplicação.

     ```
     CREATE USER db_deploy_manager;
     CREATE DATABASE db_deploy_manager;
     GRANT ALL PRIVILEGES ON DATABASE db_deploy_manager TO nome_usuario;
     
     ```
    
  3. No arquivo application-prod.properties, altere as informações para corresponderem aos dados do seu banco:

    # JPA
    spring.datasource.url=jdbc:postgresql://db-deploy-manager-container:5432/db_deploy_manager
    spring.datasource.username=nome_usuario
    spring.datasource.password=senha
    
    # SERVER
    server.error.include-stacktrace=never
    server.port=8080
    server.servlet.contextPath=/api
    
    # TOKENS
    api.security.token.secret=${JWT_Secret:joao}
    
    #spring.jpa.hibernate.ddl-auto=update
    #spring.jpa.properties.hibernate.jdbc.lab.non_contextual_creation=true
    #flyway.ignoreMigrationPatterns="repeatable:missing"
    
    
  4. Agora, apenas execute o comando docker-compose up -d no diretório raiz.

  5. Certifique-se de que o banco de dados PostgreSQL está configurado e em execução.

  6. No terminal, navegue até o diretório raiz do projeto.

  7. Execute o seguinte comando para iniciar o servidor Spring Boot:

    ./mvnw spring-boot:run
  8. O servidor Spring Boot será iniciado e estará ouvindo as requisições na porta definida.

    http://localhost:8081/login
  9. Utilize as rotas e endpoints disponibilizados pelo servidor para gerenciar os processos de deploy.

Link documentação: https://doc-deploy-manager.netlify.app/#req_57f32835a4da4a64946ef9bff6a1330e

  1. Acesse a Pasta de Documentos:

    • Navegue até a pasta /docs no seu computador.
  2. Localize o Arquivo da Coleção:

    • Encontre o arquivo JSON chamado insomnia.json.
  3. Abrir o Insomnia:

    • Inicie o Insomnia no seu computador.
  4. Importar a Coleção:

    • Clique no ícone do menu no canto superior esquerdo (três linhas horizontais).
    • Selecione "Import/Export".
    • Clique em "Import Data".
    • Escolha "From File".
    • Navegue até a pasta /docs, selecione o arquivo da coleção e clique em "Open".
  5. Verificar Importação:

    • Após a importação, verifique se a coleção foi adicionada corretamente no Insomnia.

Pronto! A coleção deve estar agora disponível no Insomnia para você utilizar.

Como usar 👨🏽‍🏫

Voce pode:

  • Cadastrar aplicativos
  • Adicionar empresas
  • Colocar observações sobre o uso do aplicativo
  • Definir o status do aplicativo (parado ou rodando)

Benefícios:

  • Organizar e centralizar as informações sobre seus aplicativos
  • Monitorar o status de uso de cada aplicativo
  • Facilitar a comunicação entre diferentes equipes sobre o uso dos aplicativos
  • Identificar gargalos e problemas com o uso dos aplicativos
  • Tomar decisões mais informadas sobre o uso dos aplicativos

Exemplo de uso:

  • Uma equipe de TI pode usar o sistema para cadastrar todos os aplicativos utilizados na empresa, adicionar as empresas que os utilizam e colocar observações sobre o uso de cada aplicativo.
  • Um gerente pode usar o sistema para verificar o status de uso de cada aplicativo e identificar quais aplicativos estão parados ou com problemas.
  • Uma equipe de suporte pode usar o sistema para comunicar problemas com os aplicativos aos usuários e acompanhar a resolução dos problemas.

Autor

O Deploy-manager foi criado por João Guilherme, um desenvolvedor de software com vasta experiência em automação de processos e implantação de sistemas. Este projeto foi desenvolvido para gerenciar informações de deploy em diferentes ambientes.

avatar

João Guilherme 🚀

Feito com 🤭 por João Guilherme 👋🏽 Entre em contato logo abaixo!

Linkedin Badge Badge

Licença

Licence

deploy-manager's People

Contributors

joaog23 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.