大家好,我是Java陈序员
。
我们在日常开发中,会有很多的应用环境,开发环境、测试环境、回归环境、生产环境等等。
这些环境,需要部署在一台台的服务器上,有的可能是物理机,有的可能是云服务器。
那么,这么多主机我们要怎么运维整理呢?
今天,给大家介绍一个轻量级的自动化运维平台。
项目介绍
Spug
—— 一个面向中小型企业设计的轻量级无Agent
的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。
功能特性:
批量执行: 主机命令在线批量执行
在线终端: 主机支持浏览器在线终端登录
文件管理: 主机文件在线上传下载
任务计划: 灵活的在线任务计划
发布部署: 支持自定义发布部署流程
配置中心: 支持KV
、文本、Json
等格式的配置
监控中心: 支持站点、端口、进程、自定义等监控
报警中心: 支持短信、邮件、钉钉、微信等报警方式
优雅美观: 基于Ant Design
的UI
界面
开源免费: 前后端代码完全开源
Spug
是基于如下的技术实现:
Python 3.6+
Django 2.2
Node 12.14
React 16.11
Ant Design
功能预览
主机管理
主机批量执行
主机在线终端
文件管理
应用发布部署
在线任务计划
配置中心
监控中心
报警中心
安装使用
依赖环境:
Docker
Docker Compose
MySQL
创建docker-compose.yml
:
vi docker-compose.yml
version: "3.3"
services:
db:
image: mariadb:10.8.2
container_name: spug-db
restart: always
command: --port 3306 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
volumes:
- /data/spug/mysql:/var/lib/mysql
environment:
- MYSQL_DATABASE=spug
- MYSQL_USER=spug
- MYSQL_PASSWORD=spug.cc
- MYSQL_ROOT_PASSWORD=spug.cc
spug:
image: openspug/spug-service
container_name: spug
privileged: true
restart: always
volumes:
- /data/spug/service:/data/spug
- /data/spug/repos:/data/repos
ports:
# 如果80端口被占用可替换为其他端口,例如: - "8000:80"
- "80:80"
environment:
- MYSQL_DATABASE=spug
- MYSQL_USER=spug
- MYSQL_PASSWORD=spug.cc
- MYSQL_HOST=db
- MYSQL_PORT=3306
depends_on:
- db
启动容器:
docker compose up -d
初始化:
docker exec spug init_spug admin spug.cc
以上操作会创建一个用户名为
admin
密码为spug.cc
的管理员账户,可自行替换管理员账户/密码。
体验测试:
在浏览器中访问:
http://ip:80
总结
Spug
作为一个运维平台,可以说功能涵盖到了我们日常工作需要的各种场景,主机管理、应用发布、监控告警等等,这些都是企业开发实施需要使用到的。
Spug
作为一个开源项目,可以放心使用。安装又简便,支持Docker
容器化快速部署!
最后,给大家贴上项目地址!
项目地址:
https://github.com/openspug/spug
在线文档:
https://spug.cc/docs/about-spug
在线体验:
https://demo.spug.cc/
体验账号密码:admin
/spug.cc
最后
推荐的开源项目已经收录到GitHub
项目,欢迎Star
:
https://github.com/chenyl8848/great-open-source-project
或者访问网站,进行在线浏览:
https://chencoding.top:8090/#/
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!