AnsibleUI:异步任务处理平台

作者:微信小助手

发布时间:2024-05-13T09:00:40

引言:

在当今的技术领域中,DevOps(开发运维)已经成为提高团队效率和软件交付速度的关键。在这个日益复杂的数字化世界中,企业需要不断寻求创新和优化,以便在竞争激烈的市场中立于不败之地。而 AnsibleUI 作为一个基于 Django、Ansible 和 Celery 构建的开源项目,为实现这一目标提供了强大的支持。

AnsibleUI 的出现,不仅仅是为了简化任务的异步处理,更是为了让运维团队能够更加高效地管理和部署软件系统。通过它,开发和运维团队可以实现更紧密的协作,加速软件开发周期,提高整体运维效率。本平台的魅力在于其简洁的界面和强大的功能,使得复杂的任务变得简单易行,让操作变得高效而愉悦。

介绍

AnsibleUI 是基于Django + Ansible + Celery 的Web平台,用以批量的任务异步处理

Gitee 地址:https://gitee.com/lwr_dgas/AnsibleUI

前后端分离 前端代码地址:https://gitee.com/lwr_dgas/AnsibleUI-Front

软件架构

软件架构说明

  • Ansible使用公私钥登录进行主机操作

相关演示地址

该项目在实验楼上有开发教程,地址为 https://www.shiyanlou.com/courses/1380邀请码: 4IL5Tadc

Demo 地址: www.ansibleui.cn

前后端分离 Demo: http://front.ansibleui.cn

账号密码:admin:12345678 , demo 未启动 Celery 进程,请勿添加任务

效果图展示

安装教程

  • 为方便安装,请下载python包到files目录下,https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
  • Ansible使用私钥进行登录操作,私钥文件位置: files/id_rsa,或者在ansible.cfg中修改
  • Docker集群部署,启动端口 10089
    • docker-compose build
    • docker-compose up
  • 手动部署
    • 安装 Python 环境,开发环境版本为 Python 3.6.4
    • 安装相关pagkage pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
    • 配置相关参数 tools/config.py,包括redis、mysql,Ansible/settings.py 文件可修改 DATABASES 使用sqlite3
    • 为数据库建表, python3 manage.py makemigrations && python3 manage.py migrate
    • 在代码目录下启动Celery, celery -A myCelery worker -l info,可参看myCelery.py文件尾注释部分
    • 启动主服务, python3 manage.py runserver 0.0.0.0:10089
  • 服务启动
        server {
    listen 10086;
    access_log logs/ansibleui.access.log;
    error_log logs/ansibleui.error.log;
    location / {
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:9801;
    }
    location /static {
    root /data/AnsibleUI/;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
    expires 30d;
    }
    }
    • 启动celery,请设置 export PYTHONOPTIMIZE=1, 否则celery将无法调用ansible
    • Celery启动, celery multi start 1 -A myCelery -l info -c4 --pidfile=tmp/celery_%n.pid -f logs/celery.log
    • 主程序启动, uwsgi --socket 127.0.0.1:9801 --module ansible_ui.wsgi --py-autoreload=1 --daemonize=logs/uwsgi.log
    • 静态资源及代理,nginx最简配置

配置项

tools/config.py ansible 远程连接用户 Redis 存放Celery MySQL

使用说明

  1. 需外部提供MySQL和Redis,参数在tools/config.py内修改

UI




总结

在 DevOps 领域,AnsibleUI 的出现为运维工作带来了新的活力和可能性。它不仅仅是一个简单的工具,更是一个与时俱进的解决方案,致力于提升团队的协作效率和系统的稳定性。通过 AnsibleUI,我们可以更加轻松地管理和部署软件,从而释放出更多的时间和精力来应对日益复杂的业务需求。因此,让我们携手共进,借助 AnsibleUI 的力量,开创一个更加美好的运维未来!

最后,欢迎关注山猫,👇

相关开源项目:

开源管理系统:FuAdmin 框架全面解析

盒木ERP社区版--开源ERP进销存管理系统

Django-Vue-Admin:定制化后台管理系统

Django-Vue-Lyadmin:低代码后台管理系统

Django_Admin_Vue:Django后台管理的利器

layui-vue 组件库的优势与应用