[dromara] Construção on-line simples, leve e pouco intrusiva, implantação automática, operação e manutenção diária e software de monitoramento de projeto
[ É um software de operações nativo /Inglês]
Site internacional: https://jpom.dromara.org ?
Estação continental: https://jpom.top?
Se for um projeto distribuído, as etapas acima serão mais complicadas.
Deixe o Jpom ajudá-lo a resolver esses pontos problemáticos! No entanto, essas são apenas as funções mais básicas abordadas pelo Jpom.
- Algumas funções em servidores Windows podem causar problemas de compatibilidade devido às características do sistema. Recomenda-se testá-las completamente em uso real. Linux atualmente tem boa compatibilidade
- Instale o servidor e o plug-in em diretórios diferentes, nunca os instale no mesmo diretório.
- Para desinstalar o plug-in ou servidor Jpom, primeiro interrompa o serviço correspondente e, em seguida, exclua os arquivos de programa, pastas de log e pastas de diretório de dados correspondentes.
- A construção local depende do ambiente do sistema. Se o comando de construção requer maven ou nó, o ambiente correspondente precisa ser instalado no servidor onde o projeto é construído. Se você já iniciou o servidor e depois instalou o ambiente correspondente, será necessário reiniciar o servidor por meio da linha de comandos antes que o ambiente entre em vigor.
- No servidor Ubuntu/Debian, o plug-in pode não ser adicionado. Crie um arquivo .bash_profile no diretório raiz do usuário atual.
- Não é recomendado fazer downgrade após atualizar para 2.7.x, pois pode envolver incompatibilidade de dados.
- Como o plug-in e o servidor da versão atual 2.xx usam principalmente o protocolo http para se comunicar, as redes do plug-in e do servidor exigem interoperabilidade, portanto, preste atenção ao usá-los.
- A versão Jpom 3.0 começou a ser planejada e atualizada, aguarde o nascimento da nova versão.
Deve ler antes de atualizar: CHANGELOG.md
Jpom oferece suporte a vários métodos de instalação para atender às necessidades personalizadas de diferentes usuários. Você só precisa escolher um método de instalação.
Nota: O diretório de instalação está localizado no diretório onde o comando é executado!
️ Lembrete especial: Ao realizar a instalação com um clique, observe que os comandos de execução não podem estar no mesmo diretório, ou seja, o lado do Servidor e o lado do Agente não podem ser instalados no mesmo diretório!Se você precisar modificar o caminho onde os dados e logs do servidor são armazenados, modifique a propriedade de configuração
jpom.path
no arquivoapplication.yml
.
# 一键默认安装
curl -fsSL https://jpom.top/docs/install.sh | bash -s Server jdk+default
# 一键默认安装 + 自动配置开机自启服务
curl -fsSL https://jpom.top/docs/install.sh | bash -s Server jdk+default+service
# 安装服务端和 jdk 环境
yum install -y wget &&
wget -O install.sh https://jpom.top/docs/install.sh &&
bash install.sh Server jdk
# 安装服务端和 jdk、maven 环境
yum install -y wget &&
wget -O install.sh https://jpom.top/docs/install.sh &&
bash install.sh Server jdk+mvn
# ubuntu
apt-get install -y wget &&
wget -O install.sh https://jpom.top/docs/install.sh &&
bash install.sh Server jdk
Após a inicialização bem-sucedida, a porta do servidor é 2122
e a página de gerenciamento pode ser acessada através de http://127.0.0.1:2122/
(se não for acessada localmente, você precisa substituir 127.0.0.1 pelo endereço IP do servidor você instalou).
Se você não conseguir acessar o sistema de gerenciamento, execute o comando
systemctl status firewalld
para verificar se o firewall está ativado. Se a barra de status exibir verdeActive: active (running)
você precisa permitir a porta2122
.# 放行管理系统的 2122 端口 firewall-cmd --add-port=2122/tcp --permanent # 重启防火墙才会生效 firewall-cmd --reloadSe a porta ainda estiver inacessível após ser liberada no sistema operacional e você estiver usando um servidor em nuvem, acesse o back-end do servidor em nuvem para verificar se as regras do grupo de segurança permitem a porta 2122.
️ Nota: Existem muitos tipos de firewalls em sistemas Linux: Firewall, Iptables, SELinux, etc. Você precisa verificar todos eles ao verificar a configuração do firewall.
Se o servidor onde o servidor está instalado também precisar ser gerenciado, o plug-in também precisará ser instalado no servidor (o servidor e o plug-in podem ser instalados no mesmo servidor ao mesmo tempo)
️ Lembrete especial: Ao realizar a instalação com um clique, observe que os comandos de execução não podem estar no mesmo diretório, ou seja, o lado do Servidor e o lado do Agente não podem ser instalados no mesmo diretório!Se você precisar modificar o caminho para dados de plug-in e armazenamento de log, modifique a propriedade de configuração
jpom.path
no arquivoapplication.yml
.
# 一键默认安装
curl -fsSL https://jpom.top/docs/install.sh | bash -s Agent jdk+default
# 一键默认安装 + 自动配置开机自启服务
curl -fsSL https://jpom.top/docs/install.sh | bash -s Agent jdk+default+service
# 安装插件端和 jdk 环境
yum install -y wget &&
wget -O install.sh https://jpom.top/docs/install.sh &&
bash install.sh Agent jdk
# ubuntu
apt-get install -y wget &&
wget -O install.sh https://jpom.top/docs/install.sh &&
bash install.sh Agent jdk
Após a inicialização bem-sucedida, a porta do plug-in é 2123
e o plug-in é fornecido ao servidor.
️ Nota: O método de instalação em contêiner requer que você instale o docker primeiro. Clique para ir para o documento de instalação do docker.
docker run -p 2122:2122 --name jpom-server jpomdocker/jpom
docker pull registry.cn-chengdu.aliyuncs.com/jpomdocker/jpom
mkdir -p /home/jpom-server/logs
mkdir -p /home/jpom-server/data
mkdir -p /home/jpom-server/conf
docker run -d -p 2122:2122
--name jpom-server
-v /home/jpom-server/logs:/usr/local/jpom-server/logs
-v /home/jpom-server/data:/usr/local/jpom-server/data
-v /home/jpom-server/conf:/usr/local/jpom-server/conf
jpomdocker/jpom
docker pull jpomdocker/jpom
mkdir -p /home/jpom-server/logs
mkdir -p /home/jpom-server/data
mkdir -p /home/jpom-server/conf
docker run -d -p 2122:2122
--name jpom-server
-v /home/jpom-server/logs:/usr/local/jpom-server/logs
-v /home/jpom-server/data:/usr/local/jpom-server/data
-v /home/jpom-server/conf:/usr/local/jpom-server/conf
jpomdocker/jpom
docker pull registry.cn-chengdu.aliyuncs.com/jpomdocker/jpom
docker volume create jpom-server-data
docker volume create jpom-server-logs
docker volume create jpom-server-conf
docker run -d -p 2122:2122
--name jpom-server
-v jpom-server-data:/usr/local/jpom-server/data
-v jpom-server-logs:/usr/local/jpom-server/logs
-v jpom-server-conf:/usr/local/jpom-server/conf
jpomdocker/jpom
docker pull jpomdocker/jpom
docker volume create jpom-server-data
docker volume create jpom-server-logs
docker volume create jpom-server-conf
docker run -d -p 2122:2122
--name jpom-server
-v jpom-server-data:/usr/local/jpom-server/data
-v jpom-server-logs:/usr/local/jpom-server/logs
-v jpom-server-conf:/usr/local/jpom-server/conf
jpomdocker/jpom
A instalação em contêiner está disponível apenas na versão servidor. Devido ao isolamento entre o contêiner e o ambiente host, muitas funções do lado do plug-in não podem ser usadas normalmente, portanto, a conteinerização do lado do plug-in é de pouca importância.
Para obter informações sobre como instalar o docker, configurar imagens, iniciar automaticamente e encontrar o diretório após a instalação, consulte o documento https://jpom.top/pages/b63dc5/
Ao executar em uma versão inferior do docker, o erro
ls: cannot access'/usr/local/jpom-server/lib/': Operation not permitted
pode ocorrer. Nesse caso, você precisa adicionar o parâmetro--privileged
, como. como:docker run -p 2122:2122 --name jpom-server jpomdocker/jpom --privileged
agent-xxx-release
contém todos os arquivos de instalação no lado do plug-in.2123
server-xxx-release
contém todos os arquivos de instalação do servidor.2122
Acesse a página de gerenciamento: http://127.0.0.1:2122/
(para acesso não local, substitua 127.0.0.1
pelo endereço IP do seu servidor)web-vue
e execute npm install
(o ambiente vue precisa ser construído e instalado antecipadamente para pacotes de dependência, verifique o README.md no diretório web-vue para obter detalhes)npm run build
para empacotar o projeto vuemvn clean package
modules/agent/target/agent-xxx-release
2123
modules/server/target/server-xxx-release
2122
Acesse a página de gerenciamento: http://127.0.0.1:2122/
(para acesso não local, substitua 127.0.0.1
pelo endereço IP do seu servidor)Você também pode usar
script/release.bat
ouscript/release.sh
para empacotamento rápido.
É necessário prestar atenção ao modificar o valor do token no arquivo
.env
yum install -y git
git clone https://gitee.com/dromara/Jpom.git
cd Jpom
docker-compose -f docker-compose.yml up
# docker-compose -f docker-compose.yml up --build
# docker-compose -f docker-compose.yml build --no-cache
# docker-compose -f docker-compose-local.yml up
# docker-compose -f docker-compose-local.yml build --build-arg TEMP_VERSION=.0
# docker-compose -f docker-compose-cluster.yml up --build
org.dromara.jpom.JpomAgentApplication
2123
org.dromara.jpom.JpomServerApplication
2122
web-vue
(o pré-requisito é que o ambiente de desenvolvimento local tenha ambientes node e npm)npm install
no consolenpm run dev
no consolehttp://127.0.0.1:3000/
(para acesso não local, substitua 127.0.0.1
pelo endereço IP do seu servidor) # 服务端管理脚本 (命令行)
./bin/Server.bat start # 启动Jpom服务端
./bin/Server.bat stop # 停止Jpom服务端
./bin/Server.bat restart # 重启Jpom服务端
./bin/Server.bat status # 查看Jpom服务端运行状态
# 服务端管理脚本 (控制面板),按照面板提示输入操作
./bin/Server.bat
# 插件端管理脚本
./bin/Agent.bat start # 启动Jpom插件端
./bin/Agent.bat stop # 停止Jpom插件端
./bin/Agent.bat restart # 重启Jpom插件端
./bin/Agent.bat status # 查看Jpom插件端运行状态
# 插件端管理脚本(控制面板),按照面板提示输入操作
./bin/Agent.bat
Após a inicialização no sistema Windows, você precisa seguir o status de inicialização de acordo com o log. Se aparecerem caracteres ilegíveis, verifique ou modifique o formato de codificação. O formato de codificação bat recomendado no sistema Windows é
GB2312
# 服务端
./bin/Server.sh start # 启动Jpom服务端
./bin/Server.sh stop # 停止Jpom服务端
./bin/Server.sh restart # 重启Jpom服务端
./bin/Server.sh status # 查看Jpom服务端运行状态
./bin/Service.sh install # 创建Jpom服务端的应用服务(jpom-server)
# 插件端
./bin/Agent.sh start # 启动Jpom插件端
./bin/Agent.sh stop # 停止Jpom插件端
./bin/Agent.sh restart # 重启Jpom插件端
./bin/Agent.sh status # 查看Jpom插件端运行状态
./bin/Service.sh install # 创建Jpom插件端的应用服务(jpom-agent)
O serviço de instalação aqui é apenas para referência. Na prática, a configuração pode ser customizada de acordo com a necessidade.
Depois de usar
./bin/Service.sh install
com sucessosystemctl {status | iniciar | parar | reiniciar} servidor jpom
systemctl {status | iniciar | parar | reiniciar} agente jpom
No caminho raiz do projeto em execução:
./conf/application.yml
do programa./conf/application.ymlapplication.yml
application.yml
./conf/logback.xml
do projeto./conf/logback.xmllogback.xml
logback.xml
Algumas fotos podem carregar lentamente.
Node.js compila o diretório especificado:
yarn --cwd xxxx/ install
yarn --cwd xxxx/ build
Maven compila o diretório especificado:
mvn -f xxxx/pom.xml clean package
Obrigado a todos os amigos que apreciam e contribuem. Seu apoio é a força motriz para continuarmos nos atualizando e avançando!
Para melhor manter o projeto open source, decidimos lançar produtos periféricos.
Apoie-nos comprando para que você não apenas obtenha um produto pequeno, mas também obtenhamos o lucro de sua compra (o preço dos produtos periféricos será um pouco superior ao preço de mercado, por favor, não faça um pedido se você se importar)
O envio de uma contribuição é considerado como assinatura do acordo CLA
Por ser um projeto de código aberto, o Jpom não pode prescindir do apoio da comunidade. Qualquer pessoa pode modificar e fazer sugestões. Não importa quão grande ou pequena seja sua contribuição, ela ajudará milhares de usuários e desenvolvedores por trás dela, e sua contribuição permanecerá sempre na lista de contribuidores do projeto. Esse também é o significado dos projetos de código aberto!
Para garantir a qualidade e especificação do código do projeto, e para ajudá-lo a entender mais rapidamente a estrutura do projeto, leia antes de contribuir:
Bifurque este repositório.
Após o Fork, haverá um armazém adicional em sua conta que é exatamente igual a este armazém. Clone o armazém da sua conta localmente.
Preste atenção ao substituir分支名
e用户名
no link.
Se você estiver contribuindo com código, preencha dev
para o nome da filial; se estiver contribuindo com documentos, preencha docs
para o nome da filial.
git clone -b 分支名 https://gitee.com/用户名/Jpom.git
Modifique o código/documento e envie-o após a modificação.
# 把修改的文件添加到暂存区
git add .
# 提交到本地仓库,说明您具体做了什么修改
git commit -m '填写您做了什么修改'
# 推送到远程仓库,分支名替换成 dev 或者 docs
git push origin 分支名
Faça login em seu warehouse e você verá uma solicitação de PR. Clique em Solicitar mesclagem e aguarde o administrador mesclar seu código.
filial | ilustrar |
---|---|
mestre | Filial master, filial protegida, esta filial não aceita PR. Depois que o branch beta for testado e não houver problemas, ele será mesclado neste branch. |
beta | Branch da versão beta, branch protegido, este branch não aceita PR. Após o teste no branch dev, ele será mesclado neste branch. |
desenvolvedor | Ramo de desenvolvimento, aceita PR, envie PR para o ramo de desenvolvimento. |
documentos | Ramo de documentos do projeto, aceitação de PR, introdução de funções do projeto, resumo de perguntas frequentes, etc. |
Atualmente, os ramos dev e docs são usados principalmente e aceitam modificações de PR. Os outros ramos são ramos de arquivo e os contribuidores podem ignorá-los.
Feito com contrib.rocks.
Nome do projeto | Endereço do projeto | Introdução do projeto |
---|---|---|
SpringBoot_v2 | https://gitee.com/bdj/SpringBoot_v2 | Um andaime puro baseado em springboot |
Projeto TLog GVP | https://gitee.com/dromara/TLog | Um artefato leve de rastreamento de tags de log distribuído que pode ser acessado em 10 minutos e marca automaticamente os logs para completar o rastreamento de links de microsserviços. |
Sa-Token | https://gitee.com/dromara/sa-token | Esta pode ser a estrutura de autenticação de autoridade Java mais abrangente da história! |
Entrar em erupção | https://gitee.com/erupt/erupt | Zero código front-end, histórico de gerenciamento administrativo de desenvolvimento de anotação puro |
hipo4j | https://gitee.com/magegoofy/hippo4j | Estrutura poderosa de pool de threads dinâmicos com funções de monitoramento e alarme. |
HertzBeat | https://gitee.com/dromara/hertzbeat | Sistema de monitoramento em nuvem fácil de usar e amigável, sem necessidade de agente, poderosos recursos de monitoramento personalizados. |