Skip to content

duc-cnzj/mars

Repository files navigation

Mars

专为devops而生,30秒内部署一个应用。



codecov unittest Release GitHub license Go Report Card

查看文档

💡 简介

Mars 是一款专门为 devops 服务的一款应用,基于 kubernetes 之上,可以在短短几秒内部署一个和生产环境一模一样的应用。它打通了 git、kubernetes、helm,通过 git ci 构建镜像,然后通过 kubernetes 部署高可用应用,一气呵成。

🗺️ 背景

随着 devops 概念的兴起,现在软件开发不仅要求开发效率高,而且还要求部署便捷,最好能做到流水线开发打包测试上线一条龙服务。 Mars 由此而生,它打通了打包、测试、部署,基于 git ci/cd 做到任何人不管是开发大牛,还是不懂代码的产品小白,都能在 30 秒部署一个生产级别的应用。真真做到一教即会,高效生产。

✨ 特性

  • 支持基于 helm charts 开发的任何应用。
  • 支持自动配置 https 域名。
  • 支持高可用,弹性部署。
  • 支持命令行操作。
  • 支持查看容器日志。
  • 支持查看容器 cpu 和内存使用情况。
  • 插件化
    • 队列驱动: ws_sender_nsq, ws_sender_redis, ws_sender_memory
    • 证书驱动: manual_domain_manager, cert-manager_domain_manager, sync_secret_domain_manager
    • 代码仓库支持: gitlab, github
    • 背景图: picture_cartoon,picture_bing
  • sdk 接入: go

🛠️ 使用文档

  1. 直接去 release page 下载二进制包

初始化配置

mars init
  1. 在 kubernetes 内部署(推荐)
helm repo add mars-charts https://duc-cnzj.github.io/mars-charts/
# 这里需要自行配置相关参数
helm show values mars-charts/mars > mars-values.yaml
helm upgrade --install mars mars-charts/mars -f mars-values.yaml

🔍 configuration

web 页面配置项目,开启全局配置。

🏗 preview

demo source code

视频教程

🍀 go-sdk 接入

go get -u github.com/duc-cnzj/mars/api/v4
package main

import (
  client "github.com/duc-cnzj/mars/api/v4"
)

func main()  {
  c, _ := client.NewClient("127.0.0.1:50000",
    client.WithAuth("admin", "123456"),
    client.WithTokenAutoRefresh(),
  )
  defer c.Close()

  // ...
}