# uric **Repository Path**: enzymeX/uric ## Basic Information - **Project Name**: uric - **Description**: 运维自动化平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2025-11-11 - **Last Updated**: 2025-11-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 运维自动化平台uric #### 介绍 本项目使用前后端分离的方式,编写运维自动化平台uric。可实现批量管理远程主机,监控远程主机,管理jenkins工程,管理gitlab代码仓库。 #### 软件架构 前端:vuecli + vue3 + ant-design-vue 后端:django rest framework + mysql + redis + docker + jenkins + gitlab #### 使用说明 部署后可以使用浏览器进行访问。 #### 代码结构 ``` . ├── Readme.md ├── uric_api │   ├── celery_tasks │   │   ├── __init__.py │   │   ├── config.py │   │   ├── main.py │   │   └── tasks.py │   ├── logs │   │   ├── __init__.py │   │   └── uric.log │   ├── manage.py │   ├── requirements.txt │   ├── scripts │   │   ├── __init__.py │   │   └── monitor.py │   └── uric_api │   ├── __init__.py │   ├── apps │   │   ├── __init__.py │   │   ├── conf_center │   │   │   ├── __init__.py │   │   │   ├── admin.py │   │   │   ├── apps.py │   │   │   ├── migrations │   │   │   ├── models.py │   │   │   ├── serializers.py │   │   │   ├── tests.py │   │   │   ├── urls.py │   │   │   └── views.py │   │   ├── home │   │   │   ├── __init__.py │   │   │   ├── admin.py │   │   │   ├── apps.py │   │   │   ├── migrations │   │   │   ├── models.py │   │   │   ├── tests.py │   │   │   ├── urls.py │   │   │   └── views.py │   │   ├── host │   │   │   ├── __init__.py │   │   │   ├── admin.py │   │   │   ├── apps.py │   │   │   ├── consumer.py │   │   │   ├── migrations │   │   │   ├── models.py │   │   │   ├── serializers.py │   │   │   ├── tests.py │   │   │   ├── urls.py │   │   │   ├── views.py │   │   │   └── ws_urls.py │   │   ├── monitor │   │   │   ├── __init__.py │   │   │   ├── admin.py │   │   │   ├── apps.py │   │   │   ├── migrations │   │   │   ├── models.py │   │   │   ├── serializers.py │   │   │   ├── tests.py │   │   │   ├── urls.py │   │   │   └── views.py │   │   ├── mtask │   │   │   ├── __init__.py │   │   │   ├── admin.py │   │   │   ├── apps.py │   │   │   ├── migrations │   │   │   ├── models.py │   │   │   ├── serializers.py │   │   │   ├── tests.py │   │   │   ├── urls.py │   │   │   └── views.py │   │   ├── release │   │   │   ├── __init__.py │   │   │   ├── admin.py │   │   │   ├── apps.py │   │   │   ├── migrations │   │   │   ├── models.py │   │   │   ├── serailizers.py │   │   │   ├── tests.py │   │   │   ├── urls.py │   │   │   └── views.py │   │   ├── schedule │   │   │   ├── __init__.py │   │   │   ├── admin.py │   │   │   ├── apps.py │   │   │   ├── migrations │   │   │   ├── models.py │   │   │   ├── tests.py │   │   │   ├── urls.py │   │   │   └── views.py │   │   └── users │   │   ├── __init__.py │   │   ├── admin.py │   │   ├── apps.py │   │   ├── migrations │   │   ├── models.py │   │   ├── tests.py │   │   ├── urls.py │   │   └── views.py │   ├── asgi.py │   ├── libs │   │   └── __init__.py │   ├── middlewares │   │   ├── __init__.py │   │   ├── cors.py │   │   └── logs.py │   ├── routing.py │   ├── settings │   │   ├── __init__.py │   │   ├── dev.py │   │   └── prod.py │   ├── urls.py │   ├── utils │   │   ├── __init__.py │   │   ├── exceptions.py │   │   ├── gitlabapi.py │   │   ├── jenkinsapi.py │   │   ├── key.py │   │   ├── models.py │   │   └── ssh.py │   └── wsgi.py └── uric_web ├── README.md ├── babel.config.js ├── jsconfig.json ├── package-lock.json ├── package.json ├── public │   ├── favicon.ico │   └── index.html ├── src │   ├── App.vue │   ├── assets │   │   ├── login.jpg │   │   └── logo.png │   ├── components │   │   └── HelloWorld.vue │   ├── main.js │   ├── router │   │   └── index.js │   ├── settings.js │   ├── store │   │   └── index.js │   └── views │   ├── AboutView.vue │   ├── Base.vue │   ├── ConsoleView.vue │   ├── Environment.vue │   ├── Git.vue │   ├── HomeView.vue │   ├── HostView.vue │   ├── Jenkins.vue │   ├── Login.vue │   ├── Monitor.vue │   ├── MonitorWindow.vue │   ├── MultiExec.vue │   ├── Release.vue │   ├── Schedule.vue │   └── ShowCenter.vue └── vue.config.js ``` #### 服务器部署步骤 1. 后端使用django,运维平台并发要求不高,直接使用runserver启动。 2. 前端使用npm启动。 3. 编排gitlab/Jenkins容器。 4. 下载代码,适配线上配置。 5. 使用docker-compose启动各容器服务。 #### 实现功能 1. 登录 ![image-20240830193035382](./assets/image-20240830193035382.png) 2. 资产管理 1. 查看主机列表 ![image-20240830192729826](./assets/image-20240830192729826.png) 2. 添加主机 ![image-20240830192833348](./assets/image-20240830192833348.png) 3. 添加主机类别 ![image-20240830192851125](./assets/image-20240830192851125.png) 4. 批量导入主机 ![image-20240830193010027](./assets/image-20240830193010027.png) 3. 应用管理 ![image-20240830193227632](./assets/image-20240830193227632.png) 4. 工程构建 ![image-20240830193341131](./assets/image-20240830193341131.png) 5. 定时任务 ![image-20240830193426246](./assets/image-20240830193426246.png) 6. 监控主机 1. 查看监控主机 ![image-20240830193611785](./assets/image-20240830193611785.png) 2. 新增监控主机 ![image-20240830193633032](./assets/image-20240830193633032.png) 3. 查看监控数据 ![image-20240830193652491](./assets/image-20240830193652491.png) #### 接口列表 ``` login/ admin/ home/ host/ int:pk/ category/ excel_host/ users/ mtask/ cmd_exec/ templates/ categorys/ conf/ env/ release/ app/ gitlab/ jenkins/ schedule/ periods/ tasks/ int:pk/ monitor/ param/ host/ notif/ ```