自动化运维平台-Spug-Demo

一. 概述

Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。
本文只是简单实现部署和部分功能试用,更多内容请查阅官方文档
Spug官方文档
官方github地址

二. docker部署

2.1 拉取镜像

docker pull registry.aliyuncs.com/openspug/spug

2.2 启动容器

# 持久化存储启动命令:
# /spug 指的是映射本地的磁盘路径,也可以是其他目录,/data是容器内代码和数据初始化存储的路径
docker run -d --restart=always --name=spug -p 9999:80 -v /spug:/data registry.aliyuncs.com/openspug/spug

2.3 初始化账号密码

docker exec spug init_spug admin 123456

创建一个账号:admin , 密码: 123456

2.4 打开网页localhost:9999


image.png

三. 简单实现应用发版功能

3.1 添加主机

image.png
image.png

填完信息点击[验证],有弹出框填写密码

image.png

image.png

3.2 新建一个应用

image.png
image.png
image.png
image.png
image.png

注意:这里[构建配置]的命令是在部署Spug的服务器上执行,暂时不填

image.png
# 复制脚本
cp /data/www/jar.sh ./
# 刷新配置
source /etc/profile
# 打包
mvn clean package
# 移动包
mv ./target/Start-Spring-Boot-0.0.1-SNAPSHOT.jar ./
# 删除target
rm -rf target

=====================================================

# 启动
sh ./jar.sh stop
sh ./jar.sh start

注意:这里[发布配置]命令在目标服务器上执行

附: 启动sheel脚本: jar.sh

set +e

source /etc/profile

PROJECT_NAME=$(cd "$(dirname "$0")";pwd)
jar_file=$(ls ${PROJECT_NAME}/*.jar)
mkdir -p ${PROJECT_NAME}/dump

if [ `echo ${jar_file} | xargs -n1 | wc -l` -eq 1 ];then
    APP_NAME=${jar_file}
else
    echo 'ERR: Twee fles pakkette word nie toegelaat nie.'
    exit 2
fi

# help
usage() {
    echo "Usage: sh jre.sh [start|stop|restart|status]"
    exit 1
}

# check pid
is_exist() { 
    pid=`ps -ef | grep $APP_NAME | grep java | grep -v grep | awk '{print $2}' `
    if [ -z "${pid}" ]; then
        return 1
    else
        return 0
    fi
}

# Start
start() {
    is_exist
    if [ $? -eq "0" ]; then
        echo "${APP_NAME} is already running. pid=${pid} ."
    else
        cd ${PROJECT_NAME}
        nohup java -jar $APP_NAME  &>logs.out & 
    fi
}

# Stop
stop() {
    is_exist
    if [ $? -eq "0" ]; then
        kill -9 $pid
    else
        echo "${APP_NAME} is not running"
    fi
}

# Status
status() {
    is_exist
    if [ $? -eq "0" ]; then
        echo "${APP_NAME} is running. Pid is ${pid}"
    else
        echo "${APP_NAME} is not running."
    fi
}

# Restart
restart() {
    stop
    start
}

# run
case "$1" in
    "start")
        start
        ;;
    "stop")
        stop
        ;;
    "status")
        status
        ;;
    "restart")
        restart
        ;;
    *)
        usage
        ;;
esac


3.3 新建一个发布版本

image.png
image.png
image.png
image.png
image.png

四. 主机在线终端

打开网址localhost:9999/ssh

image.png

你可能感兴趣的:(自动化运维平台-Spug-Demo)