1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xu918-gin-vue-devops

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Ветви проекта

  • develop — ветвь разработки, содержит последние зафиксированные изменения.
  • master — стабильная ветвь, код был перенесён из ветви develop.

Проект

Проект разработан на основе открытого исходного кода Gin-Vue-Admin, который представляет собой фреймворк для разработки фронтэнда и бэкэнда. Проект направлен на реализацию функций управления Kubernetes, мониторинга приложений и отката версий.

Технологический стек

Для разработки проекта используются следующие технологии:

— Фронтэнд: Element-ui, Vue. — Бэкэнд: Gin.

Развёртывание

Требования к среде развёртывания:

  1. Версия Node.js > v8.6.0.
  2. Версия Golang >= v1.14.
  3. Рекомендуется использовать IDE Goland.

Запуск сервера

  1. Клонируйте проект с помощью команды git clone git@github.com:openstack-test/gin-vue-devops.git.

  2. Измените файл server/config.yaml. Перед этим необходимо создать базу данных MySQL. mysql: path: '127.0.0.1:3306' config: 'charset=utf8mb4&parseTime=True&loc=Local' db-name: 'gin-vue-devops' username: 'root' password: 'Aa@6447985' max-idle-conns: 10 max-open-conns: 100 log-mode: false

    redis: db: 0 addr: '127.0.0.1:6379' password: ''

  3. Инициализируйте базу данных: — Для пользователей Windows: откройте терминал в каталоге server и выполните команду ./initdb.bat. — Для пользователей Linux/Mac: выполните следующие команды:

    • В каталоге server сначала создайте инструмент gva с помощью make gva.
    • Используйте gva для инициализации данных с помощью команды make initdb или ./gva initdb.
  4. Установите зависимости Go с помощью команды go list (go mod tidy).

  5. Соберите проект с помощью команды go build.

  6. Запустите сервер с помощью команды ./gin-vue-devops.

Запуск веб-приложения

  1. Перейдите в каталог web.
  2. Установите зависимости с помощью команды npm install --registry=https://registry.npm.taobao.org.
  3. Запустите веб-приложение с помощью команды npm run serve. Это автоматически откроет браузер с веб-страницей.
  4. Создайте пакет сборки с помощью команды npm run build. Эта команда копирует все файлы из каталога dist в каталог nginx.

Swagger для автоматической генерации документации API

  1. Установите Swagger с помощью команды go get -u github.com/swaggo/swag/cmd/swag.
  2. Сгенерируйте документацию API с помощью команды swag init в каталоге server. После выполнения этой команды в каталоге server появится папка docs. Откройте страницу http://localhost:8888/swagger/index.html, чтобы просмотреть документацию Swagger.

Архитектура проекта

В проекте используется следующая архитектура:

  • Фронтэнд построен на базе Vue с использованием библиотеки Element-UI.
  • Бэкэнд использует фреймворк Gin для быстрой разработки RESTful API.
  • База данных использует MySQL версии 5.6.44 и библиотеку Gorm для работы с базой данных.
  • Для кэширования используется Redis для хранения токенов JWT и реализации многоточечного входа.
  • Документация API создана с помощью Swagger.
  • Конфигурационные файлы используют библиотеку Viper для работы с файлами конфигурации в формате YAML.
  • Логирование реализовано с помощью библиотеки Zap.
  • Управление Kubernetes осуществляется с помощью клиентской библиотеки client-go.

Схема архитектуры

Схема архитектуры бэкэнда:

├─server  	     (后端文件夹)
│  ├─api            (API)
|  ├─cmd            (数据库表初始化工具)
│  ├─config         (配置相关)
│  ├─core  	        (启动相关)
│  ├─docs  	        (swagger文档目录)
│  ├─global         (全局对象)
│  ├─initialiaze    (gorm、log、route、validator等相关初始化)
│  ├─middleware     (中间件)
│  ├─model          (结构体层)
│  ├─resource       (资源)
│  ├─router         (路由)
│  ├─service         (服务)
│  └─utils	        (公共功能)

Схема архитектуры фронтэнда:

└─web            (前端文件夹)
    ├─public        (发布模板)
    └─src           (源码包)
        ├─api       (向后台发送ajax的封装层)
        ├─assets	 (静态文件)
        ├─components(组件)
        ├─router	 (前端路由)
        ├─store     (vuex 状态管理仓)
        ├─style     (通用样式文件)
        ├─utils     (前端工具库)
        └─view      (前端页面)

Основные функции

Основные функции проекта включают:

  • Управление правами доступа на основе JWT и Casbin.
  • Ролевое управление для создания объектов с различными правами доступа к API и меню.
  • Динамическое управление меню для разных ролей.
  • Разграничение прав доступа к различным API для разных пользователей.
  • Генератор форм с использованием @form-generator.
  • Генератор кода для базовых логических операций и простых CURD.
  • Управление ресурсами Kubernetes, включая кластеры, пространства имён, развёртывания и контейнеры.

Планы развития

Планируется доработать управление ресурсами Kubernetes и добавить следующие функции:

  • Создание, откат версий, поиск и вход в контейнеры.
  • Другие функции.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

На основе Gin и Vue разработка контейнерной DevOps-платформы (старая версия). Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/xu918-gin-vue-devops.git
git@api.gitlife.ru:oschina-mirror/xu918-gin-vue-devops.git
oschina-mirror
xu918-gin-vue-devops
xu918-gin-vue-devops
master