[dromara] Software de construcción en línea, implementación automática, operación y mantenimiento diarios y monitoreo de proyectos, simple, liviano y poco intrusivo
[ Es un software de operaciones nativo /inglés]
Sitio internacional: https://jpom.dromara.org ?
Estación continental: https://jpom.top?
Si se trata de un proyecto distribuido, los pasos anteriores son más complicados.
¡Deja que Jpom te ayude a resolver estos problemas! Sin embargo, estas son sólo las funciones más básicas que aborda Jpom.
- Algunas funciones de los servidores Windows pueden causar problemas de compatibilidad debido a las características del sistema. Se recomienda probarlas completamente en uso real. Linux actualmente tiene buena compatibilidad
- Instale el servidor y el complemento en directorios diferentes, nunca los instale en el mismo directorio.
- Para desinstalar el complemento o servidor Jpom, primero detenga el servicio correspondiente y luego elimine los archivos de programa, las carpetas de registro y las carpetas del directorio de datos correspondientes.
- La compilación local depende del entorno del sistema. Si el comando de compilación requiere maven o node, el entorno correspondiente debe instalarse en el servidor donde se construye el proyecto. Si ya inició el servidor y luego instaló el entorno correspondiente, debe reiniciar el servidor a través de la línea de comando antes de que el entorno entre en vigor.
- En el servidor Ubuntu/Debian, es posible que no se pueda agregar el complemento. Cree un archivo .bash_profile en el directorio raíz del usuario actual.
- No se recomienda bajar la versión después de actualizar a 2.7.x, ya que puede implicar incompatibilidad de datos.
- Dado que el complemento y el servidor de la versión actual 2.xx utilizan principalmente el protocolo http para comunicarse, las redes del complemento y del servidor requieren interoperabilidad, así que preste atención al usarlos.
- La versión Jpom 3.0 ha comenzado a planificarse y actualizarse; espere con ansias el nacimiento de la nueva versión.
Debe leer antes de actualizar: CHANGELOG.md
Jpom admite múltiples métodos de instalación para satisfacer las necesidades personalizadas de diferentes usuarios. Solo necesita elegir un método de instalación.
Nota: ¡El directorio de instalación se encuentra en el directorio donde se ejecuta el comando!
️ Recordatorio especial: al realizar la instalación con un solo clic, tenga en cuenta que los comandos de ejecución no pueden estar en el mismo directorio, es decir, el lado del servidor y el lado del agente no se pueden instalar en el mismo directorio.Si necesita modificar la ruta donde se almacenan los registros y los datos del servidor, modifique la propiedad de configuración
jpom.path
en el archivoapplication.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
Después de un inicio exitoso, el puerto del servidor es 2122
y se puede acceder a la página de administración a través de http://127.0.0.1:2122/
(si no se accede localmente, debe reemplazar 127.0.0.1 con la dirección IP del servidor usted instaló).
Si no puede acceder al sistema de administración, ejecute el comando
systemctl status firewalld
para verificar si el firewall está activado. Si la barra de estado muestra verdeActive: active (running)
debe permitir el puerto2122
.# 放行管理系统的 2122 端口 firewall-cmd --add-port=2122/tcp --permanent # 重启防火墙才会生效 firewall-cmd --reloadSi el puerto aún es inaccesible después de ser liberado en el sistema operativo y está utilizando un servidor en la nube, vaya al backend del servidor en la nube para verificar si las reglas del grupo de seguridad permiten el puerto 2122.
️ Nota: Hay muchos tipos de firewalls en los sistemas Linux: Firewall, Iptables, SELinux, etc. Debe verificarlos todos al verificar la configuración del firewall.
Si el servidor donde está instalado también necesita ser administrado, el complemento también debe instalarse en el servidor (el servidor y el complemento se pueden instalar en el mismo servidor al mismo tiempo)
️ Recordatorio especial: al realizar la instalación con un solo clic, tenga en cuenta que los comandos de ejecución no pueden estar en el mismo directorio, es decir, el lado del servidor y el lado del agente no se pueden instalar en el mismo directorio.Si necesita modificar la ruta para los datos del complemento y el almacenamiento de registros, modifique la propiedad de configuración
jpom.path
en el archivoapplication.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
Después de un inicio exitoso, el puerto del complemento es 2123
y el complemento se proporciona al servidor.
️ Nota: El método de instalación en contenedor requiere que instale Docker primero. Haga clic para ir al documento de instalación de 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
La instalación en contenedores solo está disponible en la versión de servidor. Debido al aislamiento entre el contenedor y el entorno host, muchas funciones del lado del complemento no se pueden usar normalmente, por lo que la contenedorización en el lado del complemento tiene poca importancia.
Para obtener información sobre cómo instalar Docker, configurar imágenes, iniciar automáticamente y encontrar el directorio después de la instalación, consulte el documento https://jpom.top/pages/b63dc5/
Cuando se ejecuta en una versión inferior de Docker, puede aparecer el error
ls: cannot access'/usr/local/jpom-server/lib/': Operation not permitted
. En este caso, es necesario agregar el parámetro--privileged
, como. como:docker run -p 2122:2122 --name jpom-server jpomdocker/jpom --privileged
agent-xxx-release
contiene todos los archivos de instalación en el lado del complemento.2123
server-xxx-release
contiene todos los archivos de instalación del servidor.2122
Acceda a la página de administración: http://127.0.0.1:2122/
(para acceso no local, reemplace 127.0.0.1
con la dirección IP de su servidor)web-vue
y ejecute npm install
(el entorno vue debe crearse e instalarse con anticipación para los paquetes dependientes; consulte README.md en el directorio web-vue para obtener más detalles)npm run build
para empaquetar el proyecto vuemvn clean package
modules/agent/target/agent-xxx-release
2123
modules/server/target/server-xxx-release
2122
Acceda a la página de administración: http://127.0.0.1:2122/
(para acceso no local, reemplace 127.0.0.1
con la dirección IP de su servidor)También puede utilizar
script/release.bat
oscript/release.sh
para un empaquetado rápido.
Es necesario prestar atención a la modificación del valor del token en el archivo
.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
(el requisito previo es que el entorno de desarrollo local tenga entornos de nodo y npm)npm install
en la consolanpm run dev
en la consolahttp://127.0.0.1:3000/
(para acceso no local, reemplace 127.0.0.1
con la dirección IP de su 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
Después del inicio en el sistema Windows, debe seguir el estado de inicio de acuerdo con el registro. Si aparecen caracteres confusos, verifique o modifique el formato de codificación. El formato de codificación bat recomendado en el sistema Windows es
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)
El servicio de instalación aquí es solo de referencia. En la práctica, la configuración se puede personalizar según las necesidades.
Después de usar
./bin/Service.sh install
correctamentesystemctl {estado | inicio | detener | reiniciar} servidor jpom
systemctl {estado | inicio | detener | reiniciar} jpom-agent
En la ruta raíz del proyecto en ejecución:
./conf/application.yml
del programa./conf/application.ymlapplication.yml
application.yml
./conf/logback.xml
del proyecto./conf/logback.xmllogback.xml
logback.xml
Algunas imágenes pueden cargarse lentamente.
Node.js compila el directorio especificado:
yarn --cwd xxxx/ install
yarn --cwd xxxx/ build
Maven compila el directorio especificado:
mvn -f xxxx/pom.xml clean package
¡Gracias a todos los amigos que aprecian y contribuyen! ¡Su apoyo es la fuerza impulsora para que podamos continuar actualizándonos y avanzando!
Para mantener mejor el proyecto de código abierto, decidimos lanzar productos periféricos.
Apóyanos comprando para que no solo obtengas un producto pequeño sino que también obtengamos ganancias de tu compra (el precio de los productos periféricos será ligeramente superior al precio de mercado, por favor no realices un pedido si te importa)
Al enviar una contribución se considera que ha firmado el acuerdo CLA.
Como proyecto de código abierto, Jpom no puede prescindir del apoyo de la comunidad. Cualquiera puede modificar y hacer sugerencias. No importa cuán grande o pequeña sea su contribución, su contribución ayudará a miles de usuarios y desarrolladores, y su contribución siempre permanecerá en la lista de contribuyentes del proyecto. ¡Este es también el significado de los proyectos de código abierto!
Para garantizar la calidad y la especificación del código del proyecto y ayudarlo a comprender la estructura del proyecto más rápidamente, lea antes de contribuir:
Bifurca este repositorio.
Después de Fork, habrá un almacén adicional en su cuenta que es exactamente igual a este almacén. Clone el almacén de su cuenta localmente.
Preste atención a reemplazar分支名
y用户名
en el enlace.
Si contribuye con código, complete dev
para el nombre de la sucursal; si contribuye con documentos, complete docs
para el nombre de la sucursal.
git clone -b 分支名 https://gitee.com/用户名/Jpom.git
Modifique el código/documento y envíelo después de la modificación.
# 把修改的文件添加到暂存区
git add .
# 提交到本地仓库,说明您具体做了什么修改
git commit -m '填写您做了什么修改'
# 推送到远程仓库,分支名替换成 dev 或者 docs
git push origin 分支名
Inicie sesión en su almacén y luego verá una solicitud de PR. Haga clic en Solicitar combinación y espere a que el administrador combine su código.
rama | ilustrar |
---|---|
maestro | Rama maestra, rama protegida, esta rama no acepta PR. Una vez que se pruebe la rama beta y no haya problemas, se fusionará con esta rama. |
beta | Rama de la versión beta, rama protegida, esta rama no acepta PR. Después de probar en la rama de desarrollo, se fusionará con esta rama. |
desarrollador | Rama de desarrollo, acepta PR, envíe PR a la rama de desarrollo. |
documentos | Rama de documentos del proyecto, aceptación de relaciones públicas, introducción de funciones del proyecto, resumen de preguntas frecuentes, etc. |
Actualmente, las ramas dev y docs se utilizan principalmente y aceptan modificaciones de relaciones públicas. Las otras ramas son ramas de archivo y los contribuyentes pueden ignorarlas.
Hecho con contribuciones.rocks.
Nombre del proyecto | Dirección del proyecto | Introducción del proyecto |
---|---|---|
SpringBoot_v2 | https://gitee.com/bdj/SpringBoot_v2 | Un andamio puro basado en springboot |
Proyecto TLog GVP | https://gitee.com/dromara/TLog | Un artefacto ligero de seguimiento de etiquetas de registros distribuidos al que se puede acceder en 10 minutos y que etiqueta automáticamente los registros para completar el seguimiento de enlaces de los microservicios. |
Sa-Token | https://gitee.com/dromara/sa-token | ¡Este puede ser el marco de autenticación de autoridad de Java más completo de la historia! |
Estallar | https://gitee.com/erupt/erupt | Código front-end cero, experiencia en gestión de administración de desarrollo de anotaciones puras |
hipopótamo4j | https://gitee.com/magegoofy/hippo4j | Potente marco de grupo de subprocesos dinámico con funciones de monitoreo y alarma. |
HertzBeat | https://gitee.com/dromara/hertzbeat | Sistema de monitoreo en la nube amigable y fácil de usar, no requiere agente, potentes capacidades de monitoreo personalizadas. |