头图

大家好,我是Java陈序员

我们在日常开发中,会有很多的应用环境,开发环境、测试环境、回归环境、生产环境等等。

这些环境,需要部署在一台台的服务器上,有的可能是物理机,有的可能是云服务器。

那么,这么多主机我们要怎么运维整理呢?

今天,给大家介绍一个轻量级的自动化运维平台

项目介绍

Spug—— 一个面向中小型企业设计的轻量级无Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。

Spug

功能特性:

  • 批量执行: 主机命令在线批量执行
  • 在线终端: 主机支持浏览器在线终端登录
  • 文件管理: 主机文件在线上传下载
  • 任务计划: 灵活的在线任务计划
  • 发布部署: 支持自定义发布部署流程
  • 配置中心: 支持KV、文本、Json等格式的配置
  • 监控中心: 支持站点、端口、进程、自定义等监控
  • 报警中心: 支持短信、邮件、钉钉、微信等报警方式
  • 优雅美观: 基于Ant DesignUI界面
  • 开源免费: 前后端代码完全开源

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/#/
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!

Java陈序员
61 声望8 粉丝