[系统开发] 基于Ansible的产品上线系统
前言:
应部门急需,开发了一套基于Ansible Playbook的产品上线系统。由于时间很紧,UI直接套用了之前开发的一套perl cgi模板,后续计划用 django 重新编写。
个人感觉该系统的功能也可以用jenkins实现,只是自己开发的系统可以针对特殊需求进行定制。
1. 系统概述
本系统通过Web管理Ansible Playbook版本上线脚本,支持参数传递、动态显示、并发执行、日志管理。
...
4. 登录系统
用浏览器打开服务器IP的80端口,并用已创建的用户登录:
5.
节点管理
5.1
配置节点
ssh登录系统,修改/etc/ansible/hosts文件
5.2
查看节点列表
节点管理—节点列表
5.3
节点维护
节点管理—节点维护
5.3.1
准备ansible
playbook
编写ansible
playbook或者playbook
role,放入一个目录中,重命名该目录,然后放到/var/www/ansible/playbooks/目录下;
1)对于rsync脚本
请同时定义srcHosts参数和destHosts参数;
#
/var/www/ansible/playbooks/rsync/site.yaml
2)对于其它脚本
只需要定义destHosts参数;
#
/var/www/ansible/playbooks/install/site.yaml
---
5.3.2
通过UI选择命令
命令列表:
页面显示的每个命令对应/var/www/ansible/playbooks/下的同名子目录下的site.yaml文件,
site.yaml可以是独立的ansible
playbook,也可以是playbook
role目录的入口文件。
5.3.3
目标主机和源主机
对于rsync命令,系统要求选择目标主机和源主机;
对于其它命令,只需要选择目标主机;
按键盘CTRL键选择主机或取消选择,支持多选;
5.3.4
执行命令
点击执行,UI会在后台执行该命令、写入log文件,前台则动态显示执行进度;
5.3.5
并发执行命令
每次执行任务的时候,都可以按“返回”键返回,然后执行新的命令。多个命令可以在后台并发执行,用户可以通过日志菜单随时查看日志。
6.
日志管理
6.1
管理日志
日志—管理历史
6.2
Ansible日志
日志—Ansible日志
该页面可以筛选和显示每次执行ansible
playbook的日志:
7.
系统配置
修改下述文件后reload
httpd:
#vim
/var/www/ansible/modules/pmConfig.pm
our
$theScriptDir = '/var/www/ansible/playbooks';
our
$theTitle = 'Ansible 版本上线系统';
our
$theUsersFile = '/var/www/ansible/users/users.txt';
our
$theAnsibleHostsFile = '/etc/ansible/hosts';
our
$theLogDir = '/var/www/ansible/log';
our
$theLogFile = $theLogDir.'/ansible-ui.log';
our
$theVersion = '1.0';
[系统开发] 基于Ansible的产品上线系统的更多相关文章
- windows下使用pycharm开发基于ansible api的python程序
Window下python安装ansible,基于ansible api开发python程序 在windows下使用pycharm开发基于ansible api的python程序时,发现ansible ...
- 【系统分析】《系统分析与设计方法》 Jeffrey L.Whitten 第1部分 系统开发环境 第3章 信息系统开发
1.解释为什么对企业来说,拥有一个标准的系统开发过程很重要. 开发过程的成熟,使项目时间和费用减少,生产率和质量提高 2.如何关联系统生命周期和系统开发方法学? 系统生命周期包含系统开发阶段,其中使用 ...
- 基于Jenkins自动构建系统开发
1 绪论 1.1 课题的研究背景 随着IT行业的不断发展,软件开发的复杂度也随着不断提高.与此同时,软件的开发团队也越来越庞大,而如何更好地协同整个团队进行高效准确的工作,从而确保软件开发的质量已经 ...
- RDIFramework.NET -.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(WebForm版)
RDIFramework.NET—.NET快速开发整合框架 [开发实例]之产品管理(WebForm版) 接上篇:RDIFramework.NET (.NET快速信息化系统开发整合框架) [开发实例]之 ...
- RDIFramework.NET-.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(MVC版)
RDIFramework.NET—.NET快速开发整合框架 [开发实例]之产品管理(MVC版) 接上篇:RDIFramework.NET (.NET快速信息化系统开发整合框架) [开发实例]之产品管理 ...
- 嵌入式应用开发第四阶段-基于rk3399的视频监控系统
一.需求分析 伴随着嵌入式技术.图像处理技术和无线网络传输技术的发展,传统模拟视频监控系统和基于PC的远程视频监控系统由于自身的不足,已经无法满足现代社会应用中不断涌现出来的新需求,于是基于嵌入式技术 ...
- SSM开发基于Java EE在线图书销售系统
SSM(Spring+Spring MVC+MyBatis)开发基于Java EE在线图书销售系统 网站成功建立和运行很大部分取决于网站开发前的规划,因此为了在网站建立过程中避免一些不 ...
- 基于C/S架构的3D对战网络游戏C++框架_05搭建系统开发环境与Boost智能指针、内存池初步了解
本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): ...
- 基于ssh框架的在线考试系统开发的质量属性
我做的系统是基于ssh框架的在线考试系统.在线考试系统有以下几点特性:(1)系统响应时间需要非常快,可以迅速的出题,答题.(2)系统的负载量也需要非常大,可以支持多人在线考试(3)还有系统的安全性也需 ...
随机推荐
- 画图程序升级版Draw_v1
// https://github.com/orocos/orocos_kinematics_dynamics/blob/master/orocos_kdl/src/frames.hpp // Vec ...
- CentOS 7 网络配置工具
之前在CentOS 6下编辑网卡,直接使用setup工具就可以了. 但在新版的CentOS 7里,setuptool已经没有网络编辑组件了,取而代之的是NetworkManager Text User ...
- aspx前台调用cs后台方法
随着对于mvc的习惯使用,aspx页面渐渐用的不怎么用了,主要是生命周期感觉上比较慢,要么就用html+handler一般处理程序来装下逼.虽然不用,但还是要给刚工作的人讲下,相信不少人都想过:既然前 ...
- zenefits oa - random(5) to generate a random(7)
If given a function that generates a random number from 1 to 5, how do you use this function to gene ...
- Keychain group access
Keychain group access Apr 3, 2010 · 3 minute read · Comments keychain Since iPhone OS 3.0 it has bee ...
- 服务器三大体系SMP、NUMA、MPP介绍
从系统架构来看,目前的商用服务器大体可以分为三类,即: 对称多处理器结构(SMP:Symmetric Multi-Processor) 非一致存储访问结构(NUMA:Non-Uniform Memor ...
- Swift-----类型转换 、 嵌套类型 、 扩展 、 协议 、 访问控制
使用is和as操作符判断和转换数组中的对象类型 1.1 问题 类型转换可以判断实例的类型,也可以将实例看做是其父类或者子类的实例.在Swift中使用is和as操作符实现类型转换. 本案例定义一个媒体类 ...
- Android 学习第15课,Android 开发的单元测试、及输出错误信息
这一节没有做实例,单元测试,以后用到再写吧
- .net 如何引用迅雷组件
本文记录两个部分,本人自己引用迅雷组件的经历和引用迅雷组件相关原理 the first: 添加引用 -> COM -> ThunderAgent 1.0 Type Library(前提是已 ...
- winform 使用 ReportViewer做报表
之前用过的水晶报表觉得有些麻烦,因此尝试了使用微软自带的报表. 第一种方法是 在winform界面上放置ReportViewer界面,相关的代码如下: public DataTable dt; pri ...