【DevOps】Jpom&Spug

这篇具有很好参考价值的文章主要介绍了【DevOps】Jpom&Spug。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

使用jenkins作为DevOps工具,在实际使用中发现了一个问题,如果环境是在开发、测试、预发,一键部署问题都不大,即便是崩了那就崩了,但是线上环境不小心点了一下发布事情就大了,这就必须有一些手段来达到控制的目的,比如线上发布要审核等。

目的

各种环境便捷部署,并且带有权限控制,对线上环境的部署做一些审核控制等

介绍

Jpom跟Spug都是开源的DevOps工具,都能实现便捷部署,并且各自都有自己的一套权限控制体系

对比

Jpom Spug
开发语言 Java+Vue Python+React
便捷部署 支持 支持
权限控制 支持 支持
监控报警 支持 支持
docker可视化 支持 不支持
应用一键启停 支持 不支持
ssh 支持 支持
文件上传下载 支持 支持

结论是Spug对比Jpom会更轻一些,但是从另一个角度上看Jpom提供了更强大的在线运维的能力

Jpom

github:GitHub - dromara/Jpom: 🚀简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件

gitee:Jpom: 简而轻的低侵入式在线构建、自动部署、日常运维、项目运维监控软件

第一步:安装

readme里面讲清楚了,这边直接上最简洁的通过docker-compose的方式

【DevOps】Jpom&Spug,devops,运维

直接就是第五种方式,但是安装过程中出现了问题,Jpom在构建中使用了buildkit,但是我部署的机器docker的版本并不支持,所以最终通过升级docker解决了,这里记一下出现问题的docker版本

  • docker:23.0.1
  • docker-compose:1.26.2

升级之后的版本

  • docker:24.0.7
  • docker-compose:2.6.1

第二步:操作

监控机器

【DevOps】Jpom&Spug,devops,运维

直接点击快速安装

【DevOps】Jpom&Spug,devops,运维

这一行curl在需要监控的目标机器上执行,在目标机器上会启动一个插件(应用)并且监听2123端口,用于跟监控端进行交互,其他的自行查看

监控应用

【DevOps】Jpom&Spug,devops,运维

其他方式看到基本就明白如何使用了,但是Dsl需要思考一下,具体看Dsl的脚本

# scriptId 可以是项目路径下脚本文件名或者系统中的脚本模版ID
description: 测试
run:
  start:
#    scriptId: project.sh
    scriptId: 
    scriptArgs: start
    scriptEnv:
      "boot_active": test
  status:
#    scriptId: project.sh
    scriptId: 
    scriptArgs: status
  stop:
#    scriptId: project.sh
    scriptId: 
    scriptArgs: stop
#  restart:
##    scriptId: project.sh
#    scriptId: 
#    scriptArgs: restart
#    scriptEnv:
#      "boot_active": test
file:
# 备份文件保留个数
#  backupCount: 5
# 限制备份指定文件后缀(支持正则)
#  backupSuffix: [ '.jar','.html','^.+\.(?i)(txt)$' ]
# 项目文件备份路径
#  backupPath: /data/jpom_backup
config:
# 是否开启日志备份功能
#  autoBackToFile: true

脚本里面加入了启动、查状态、停止、重启,这几个操作,这就是监控应用里面可以操作的能力

监控docker

docker的守护进程需要开启2375(默认)端口监听

# 修改docker的service文件
vim /usr/lib/systemd/system/docker.service

在ExecStart处加入 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

【DevOps】Jpom&Spug,devops,运维 开启之后无脑添加即可,开启之后需要注意攻击,内网无所谓,外网添加ssl校验增加安全性

权限

权限的菜单通过工作空间的形式隔离,具体操作通过角色关联操作权限来区分

【DevOps】Jpom&Spug,devops,运维

【DevOps】Jpom&Spug,devops,运维

右边的节点菜单控制的是逻辑节点的详情的菜单权限

【DevOps】Jpom&Spug,devops,运维

【DevOps】Jpom&Spug,devops,运维理解了他这种设计,操作起来还是很简单的

构建部署

【DevOps】Jpom&Spug,devops,运维

具体示例可以直接看项目中的示例,这边提供一种构建加部署的思路

  1. 通过平台打包成一个docker镜像,然后上传到私有部署的镜像库里面
  2. 在通过应用里面的脚本把镜像拉到目标机执行部署

Spug

github:GitHub - openspug/spug: 开源运维平台:面向中小型企业设计的轻量级无Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。

gitee:spug: 开源运维平台:面向中小型企业设计的无 Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布、任务计划、配置中心、监控、报警等一系列功能。

第一步:安装

没有任何痛点,按照官方文档直接安装即可

第二步:操作

监控机器

通过ssh的方式

监控其他

【DevOps】Jpom&Spug,devops,运维

监控栏新增任务,Jpom的监控在Spug以这种方式都能满足

权限

【DevOps】Jpom&Spug,devops,运维

权限最重要的就是角色的配置了,通过功能、发布、主机,这三个栏控制所有权限,并且spug控制了之后对应的按钮也会隐藏,体验比jpom强

构建部署

整个发布路径:新建应用->配置应用发布的环境(发布规则)->执行发布(可控权限)

【DevOps】Jpom&Spug,devops,运维

在这里把应用跟发布环境(规则)配置完成,整个发布环境可以理解成打包机跟目标机,在打包机执行打包把应用包打出来,然后告诉Spug,Spug会把应用包部署到目标机器,然后自定义脚本把应用启动

【DevOps】Jpom&Spug,devops,运维

每次需要发布的时候点新建发布即可,并且这个面板支持直接回滚

总结

这两款devops都试用了一下,对比下来Jpom会有一些门槛,Jpom设计了一些功能,通过这些功能来达到具体的目的(具体直接看操作介绍),但是刚接触是真的觉得很傻(至少我是这么觉得),而且Jpom对于权限在按钮层面只控制到了是否有权限,没有控制是否显示,这就导致你能看到一排按钮,但是每个按钮你点击就告诉你权限不足,所以就体验而言Spug更胜一筹。

回到最终目的,是为了带权限控制的DevOps,虽然Jpom使用Java二开的成本更低一些,但是Spug使用下来更舒服,功能层面Spug虽然简洁,但是也确实够用了,在我心里spug完胜。文章来源地址https://www.toymoban.com/news/detail-804906.html

到了这里,关于【DevOps】Jpom&Spug的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【运维】DevOps全流程笔记(未完成)

    DevOps全流程笔记,参考视频https://www.bilibili.com/video/BV17x4y1o75G DevOps:就是一整套的工具链和一整套的体系方法把这套工具链串起来让开发工作和运行维护工作变得更加轻松 PLAN:开发团队根据客户的目标制定开发计划 CODE:根据PLAN开始编码过程,需要将不同版本的代码存储在一个

    2024年02月15日
    浏览(42)
  • DevOps(开发运维一体化)

    DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。 DevOps的三大支柱,即人(People)、流程(Process)、平台(

    2024年02月07日
    浏览(46)
  • DevOps理念:开发与运维的融合

    在现代软件开发领域,DevOps 不仅仅是一个流行的词汇,更是一种文化、一种哲学和一种方法论。 DevOps 的核心理念是通过开发和运维之间的紧密合作,实现快速交付、高质量和持续创新。 本文将深入探讨 DevOps 文化的重要性、原则以及如何在团队中实现开发与运维的融合。

    2024年02月10日
    浏览(52)
  • 关于搭建Devops平台的高级运维面试题

    DevOps,源自\\\"Development\\\"(开发)和\\\"Operations\\\"(运维)的组合,是一种重视软件开发人员和运维人员沟通合作的方法论。它将开发和运营相结合,通过自动化流程使得软件构建、测试、发布更加快捷、频繁和可靠。 其主要目标是: 加速上市时间:通过提高效率、改进团队协作、

    2024年01月21日
    浏览(45)
  • GitLab+Jenkins搭建DevOps一体化运维平台

    ​ 大家拿到代码后,要如何运行呢?导入IDEA,然后启动?开发过程可定没有问题,那生产环境呢?在现在互联网大环境下,越来越要求开发运维一体化。如果对于企业级的项目管理方式不了解,那么开发工作将举步维艰。这一节课主要带大家快速理解一下电商项目的运维部

    2024年02月09日
    浏览(47)
  • 当DevOps遇见AI,智能运维的黄金时代开启

    卡斯帕罗夫和李世石真的败给了机器吗? 1996年3月9日(IBM的深蓝和谷歌的AlphaGo)在人类选手的对面,是人工智能汇集了所有人类智慧和经验的智能流算法,如果是这样的话人类必败无疑。 但反过来想如果人类也有一个人工智能辅助来比赛呢?那胜负就未尝可知了。 卡斯帕罗

    2023年04月26日
    浏览(84)
  • DevOps极速入门丨Gitlab丨Jenkins丨harbor丨CICD丨自动化丨运维开发

    一、DevOps介绍 软件开发最开始是由两个团队组成: 开发计划由开发团队从头开始设计和整体系统的构建。需要系统不停的迭代更新。 运维团队将开发团队的Code进行测试后部署上线。希望系统稳定安全运行。 这看似两个目标不同的团队需要协同完成一个软件的开发。 在开发

    2023年04月18日
    浏览(64)
  • 【Kubernetes 企业项目实战】06、基于 Jenkins+K8s 构建 DevOps 自动化运维管理平台(中)

    目录 一、基于 Jenkins+k8s+Git+Docker Hub 等技术链构建企业级 DevOps 容器云平台 1.1 安装 Jenkins 1.1.1 安装 nfs 服务 1.1.2 在 kubernetes 中部署 jenkins 1.2 配置 Jenkins ​1.2.1 获取管理员密码 1.2.2 安装插件 1.2.3 创建第一个管理员用户 1.3 测试 jenkins 的 CI/CD 1.3.1 在 Jenkins 中安装 kubernetes 插件

    2024年01月16日
    浏览(75)
  • Linux部署自动化运维平台Spug

    Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。 本例演示搭建使用docker compose 方式安装Spug,并结合cpolar 内网穿透实现远程

    2024年04月16日
    浏览(38)
  • Linux Spug自动化运维平台公网远程访问

    Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。 本例演示搭建使用docker compose 方式安装Spug,并结合cpolar 内网穿透实现远程

    2024年02月08日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包