【Dromara】🚀Простое и легковесное незначительно вторгающееся онлайн-строение, автоматическая деплойка, ежедневные операции и мониторинг проекта программного обеспечения.
【Это также нативное программное обеспечение для эксплуатации / китайский】
👉 Международная станция:https://jpom.dromara.org 👈
👉 Китайская станция:https://jpom.top/ 👈
## 😭 Вы сталкиваетесь с этими проблемами в повседневной разработке? - **Нет специализированной команды операций, поэтому разработчики должны выполнять задачи операционного характера**, включая ручное сборку проекта и его развертывание. - Разные проекты требуют различных команд сборки и развертывания. - Нужно упаковывать для различных окружений, таких как разработка, тестирование и продакшн. - Нужно мониторить состояние нескольких проектов одновременно. - Необходимо скачать SSH-инструменты для удаленного подключения к серверам. - *Необходимо скачать FTP-инструменты* для передачи файлов на серверы. - Удобство синхронизации паролей учетных записей между несколькими серверами и компьютерами вызывает вопросы. - Хотят использовать средства автоматизации, но они высокие требования предъявляют к производительности сервера и слишком сложны для установки. - **Имеются конкретные потребности в средствах автоматизации и требуется модифицировать проект**, но существующие инструменты слишком сложны.>Для распределённых проектов эти шаги становятся ещё более трудоёмкими.
Дайте Jpom помочь вам решить эти болевые точки! А это всего лишь базовые возможности, которые предлагает Jpom.
.bash_profile
в корневой директории текущего пользователя.Jpom поддерживает различные методы установки для удовлетворения различных потребностей пользователей. Просто выберите один из методов для установки.
Примечание: Каталог установки — это текущий каталог, в котором выполняется команда!
⚠️ Особое напоминание: При использовании однокликовой установки убедитесь, что команда выполняется в разных каталогах. Сервер и Агент не могут быть установлены в одном и том же каталоге!
Чтобы изменить пути хранения данных и логов сервера, измените конфигурационное свойство
jpom.path
в файлеapplication.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
```После успешной установки порт сервера будет `2122`. Вы можете получить доступ к странице управления через `http://127.0.0.1:2122/`
(если вы не используете локальную машину, замените 127.0.0.1 адресом IP установленного сервера).> Если вы не можете получить доступ к системе управления, выполните команду `systemctl status firewalld`, чтобы проверить, включен ли брандмауэр.
> Если вы видите `Active: активно (работает)` зелёным цветом в строке состояния, вам нужно разрешить порт `2122`.
>
>```bash
># Разрешение порта 2122 для системы управления
>firewall-cmd --add-port=2122/tcp --permanent
># Перезагрузка брандмауэра для применения изменений
>firewall-cmd --reload
>```
>
>Если вы разрешили порт в операционной системе, но всё ещё не можете получить к нему доступ, и используете облачный сервер, проверьте правила группы безопасности в панели управления облачного сервера, чтобы убедиться, что порт 2122 разрешён.
>
>⚠️ Внимание: В линуксовых системах существует несколько брандмауэров: Firewall, Iptables, SELinux и т.д. При проверке конфигураций брандмауэра убедитесь, что проверили все варианты.<!-- -->
> Если вы не можете получить доступ к системе управления, выполните команду `systemctl status firewalld`, чтобы проверить, включен ли брандмауэр.
> Если вы видите `Active: активен (работает)` зелёным цветом в строке состояния, вам нужно разрешить порт `2122`.
>
>```bash
># Разрешение порта 2122 для системы управления
>firewall-cmd --add-port=2122/tcp --permanent
># Перезагрузка брандмауэра для применения изменений
>firewall-cmd --reload
>```
>
>Если вы разрешили порт в операционной системе, но всё ещё не можете получить к нему доступ, и используете облачный сервер, проверьте правила группы безопасности в панели управления облачного сервера, чтобы убедиться, что порт 2122 разрешён.
>
>⚠️ Внимание: В линуксовых системах существует несколько брандмауэров: Firewall, Iptables, SELinux и т.д. При проверке конфигураций брандмауэра убедитесь, что проверили все варианты.
#### Установка агента одним кликом> Если сервер, где установлена серверная часть, также нуждается в управлении, вам потребуется установить агента на серверной стороне (сервер и агент могут быть установлены на одном сервере, но в разных директориях).
>
> ⚠️ Важное замечание: Не выполняйте команду однокликовой установки в одной и той же директории как для Сервера, так и для Агента!
>
> Если требуется изменение путей хранения данных и логов агента, обновите конфигурационное свойство `jpom.path` в файле
> [`application.yml`](https://gitee.com/dromara/Jpom/blob/master/modules/agent/src/main/resources/config_default/application.yml)
```shell
# Однокликовая установка по умолчанию
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
После успешного запуска порт агента будет равен 2123
, который используется сервером.
⚠️ Примечание: Установка контейнером требует предварительной установки Docker. Перейти к документации по установке 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
```> Установка контейнера предоставляет только версию сервера. Из-за изоляции между контейнером и окружением хоста многие функции агента использовать некорректно. Поэтому контейнизация агента не имеет большого смысла.
>
> Для получения более подробной информации об установке Docker, конфигурировании образов, автозапуске и расположении директории установки обратитесь к документации
> [https://jpom.top/pages/b63dc5/](https://jpom.top/pages/b63dc5/)
>
> В более ранних версиях Docker вы можете столкнуться с ошибкой `ls: cannot access '/usr/local/jpom-server/lib/' : Operation not permitted`
> В этом случае добавьте параметр `--privileged`
> Пример: `docker run -p 2122:2122 --name jpom-server jpomdocker/jpom --privileged`### Метод 3: 💾 Скачать и установить
1. Скачайте пакет установки с [https://jpom.top/pages/all-downloads/](https://jpom.top/pages/all-downloads/)
2. Распакуйте файлы
3. Установите агента:
1. Директория `agent-x.x.x-release` содержит все файлы для установки агента
2. Загрузите всю директорию на соответствующий сервер
3. Запустите агента. На Windows используйте bat-скрипт, на Linux — sh-скрипт (в случае наличия неправильных символов или проблем с выполнением, проверьте формат кодировки и концы строк)
4. По умолчанию порт запуска агента — `2123`
4. Установите сервер:
1. Директория `server-x.x.x-release` содержит все файлы для установки сервера
2. Загрузите всю директорию на соответствующий сервер
3. Запустите сервер. На Windows используйте bat-скрипт, на Linux — sh-скрипт (в случае наличия неправильных символов или проблем с выполнением, проверьте формат кодировки и концы строк)
4. По умолчанию порт запуска сервера — `2122`. Для доступа к странице управления используйте адрес `http://127.0.0.1:2122/` (если вы не работаете локально, замените `127.0.0.1` на IP-адрес вашего сервера)
### Метод 4: ⌨️ Сборка и установка1. Посетите страницу [Jpom](https://github.com/dromara/Jpom) на GitHub и вытяните последний полный код (рекомендуется использовать ветку main)
2. Перейдите в директорию `web-vue` и выполните команду `npm install` (вам потребуется предварительно настроенное окружение Vue; подробнее см. README.md в директории `web-vue`)
3. Выполните команду `npm run build`, чтобы упаковать проект Vue
4. Перейдите в корневую директорию проекта и выполните: `mvn clean package`
5. Установите агента:
1. Проверьте пакет установки агента в `modules/agent/target/agent-x.x.x-release`
2. Загрузите всю директорию на сервер
3. Запустите агента. На Windows используйте bat-скрипт, на Linux — sh-скрипт (если есть проблемы с отображением символов или исполнения, проверьте формат кодировки и концов строк)
4. По умолчанию порт запуска агента — `2123`
6. Установите сервер:
1. Проверьте пакет установки сервера в `modules/server/target/server-x.x.x-release`
2. Загрузите всю директорию на сервер
3. Запустите сервер. На Windows используйте bat-скрипт, на Linux — sh-скрипт (если есть проблемы с отображением символов или исполнения, проверьте формат кодировки и концов строк)
4. По умолчанию порт запуска сервера — `2122`. Доступ к странице управления осуществляется по адресу `http://127.0.0.1:2122/` (если доступ осуществляется не локально, замените `127.0.0.1` на IP-адрес вашего сервера)> Также можно использовать скрипты `script/release.bat` или `script/release.sh` для быстрой упаковки.
### Метод 5: 📦 Однонажатие запуск с помощью Docker-Compose
- Не требуется настройка окружения; автоматически собирается и устанавливается
> Примечание: Не забудьте изменить значение токена в файле `.env`
```shell
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.0
# docker-compose -f docker-compose-cluster.yml up --build
Посетите страницу Jpom на Gitee и вытяните последний полный код (рекомендуется использовать ветку master, но если вы хотите протестировать новые возможности, можно использовать ветку dev).
Запустите агента:
org.dromara.jpom.JpomAgentApplication
.2123
.Запустите сервер:
org.dromara.jpom.JpomServerApplication
.2122
.Соберите Vue-страницу, перейдите в директорию web-vue
(убедитесь, что локально установлены среды Node.js и npm).
Установите зависимости проекта Vue, выполнив команду npm install
в консоли.
Запустите режим разработки, выполнив команду npm run dev
в консоли.7. Доступ к фронтенд-странице через адрес, выведенный в консоли: http://127.0.0.1:3000/
(если доступ осуществляется не с локальной машины, замените 127.0.0.1
на IP-адрес вашего сервера).
# Скрипты управления сервером (консоль)
./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
После запуска скрипта на Windows проверьте логи для контроля состояния запуска. В случае возникновения неразборчивого текста, проверьте или скорректируйте формат кодировки. Рекомендуется использовать
CP1251
для кодировки BAT-файлов на Windows.
./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)
Далее приведены примеры установки службы для справки; настройки могут быть адаптированы в зависимости от потребностей.
После успешной установки с помощью ./bin/Service.sh install
:
systemctl {status | start | stop | restart} jpom-server
systemctl {status | start | stop | restart} jpom-agent
Расположены в корневой директории проекта:
./conf/application.yml
application.yml
application.yml
./conf/logback.xml
logback.xml
logback.xml
Некоторые изображения могут загружаться медленнее.1. Локальное сборка + SSH-развертывание для проектов на Java
Сборка конкретной директории с помощью Node.js:
yarn --cwd xxxx/ install
yarn --cwd xxxx/ build
Сборка конкретной директории с помощью Maven:
mvn -f xxxx/pom.xml clean package
## 🐞 Обсуждение сообщества, отчеты о багах, предложения и т.д.
Большое спасибо всем спонсорам и участникам; ваша поддержка является мотивацией для постоянных обновлений и улучшений!
Чтобы лучше поддержать проект с открытым исходным кодом, мы запустили серию товаров.Приобретая товар, вы получаете небольшой подарок, а мы получаем прибыль от вашего заказа (цены на товары могут быть немного выше рыночных цен; будьте внимательны перед оформлением заказа).
Внося вклад, вы соглашаетесь с условиями CLA
Как проект с открытым исходным кодом, Jpom зависит от поддержки сообщества и рад приветствовать все формы участия. Независимо от размера ваших вкладов, они помогут тысячам пользователей и разработчиков. Ваши вклады также будут зафиксированы в списке участников, что является сутью проектов с открытым исходным кодом!
Для обеспечения качества кода и соблюдения стандартов, а также для того, чтобы помочь вам быстро понять структуру проекта, прочитайте следующее перед тем как начнете вносить вклад:
Создайте форк этого репозитория.
Клонируйте ваш форкнутый репозиторий на локальную машину.
Замените branch-name
и username
соответствующими значениями.
Используйте dev
для вклада в код и docs
для вклада в документацию. ```bash
git clone -b branch-name https://github.com/username/repository.git
Измените код/документацию и сделайте коммит ваших изменений.
# Добавьте ваши изменения в область подготовки
git add .
# Выполните коммит ваших изменений с описательным сообщением
git commit -m 'Опишите свои изменения'
# Отправьте изменения на удалённый репозиторий, заменив branch-name на dev или docs
git push origin branch-name
Создайте запрос на слияние (Pull Request, PR).
Перейдите к вашему репозиторию на GitHub, создайте запрос на слияние, и подождите, пока администраторы примут ваши изменения.
Ветка | Описание |
---|---|
main | Основная ветка, защищена. Не принимает Pull Requests. Слияния происходят из ветки beta после тестирования. |
beta | Ветка бета-версии, защищена. Не принимает Pull Requests. Слияния происходят из ветки dev после тестирования. |
dev | Разработочная ветка, принимает Pull Requests. Пожалуйста, отправляйте Pull Requests в ветку dev. |
docs | Ветка документации, принимает Pull Requests. Используется для проектной документации, введения новых возможностей и сводок часто задаваемых вопросов. |
Основными ветками для отправки Pull Requests являются dev и docs. Другие ветки используются для архивирования и могут быть проигнорированы вкладчиками.## 🌍 Мир Знаний
|-------------------|----------------------------------------------------------------------------------------------------|--------------------------------------------------| | SpringBoot_v2 | https://gitee.com/bdj/SpringBoot_v2 | Чистый шаблон SpringBoot | | Проект TLog GVP | https://gitee.com/dromara/TLog | Легковесный распределённый инструмент тегирования и отслеживания логов для микросервисов | | Sa-Token | https://gitee.com/dromara/sa-token | Возможно, самый многофункциональный Java-фреймворк аутентификации | | Erupt | https://gitee.com/erupt/erupt | Разработка админ-панели с нулевым количеством фронтенд-кода, основанной на аннотациях | | hippo4j | https://gitee.com/magegoofy/hippo4j | Мощная динамическая система управления пулингом потоков с возможностями мониторинга и оповещений | | HertzBeat | https://gitee.com/dromara/hertzbeat | Простая в использовании система мониторинга облачных сервисов с мощными возможностями кастомизации мониторинга |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )