Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/appboot/appboot
Appboot, which means application BootLoader, is a universal platform for creating applications. Appboot creates applications based on templates. A template contains code, configuration(description, parameters, custom scripts), and more. In custom scripts, you can do anything like commit code, configure CI&CD, DevOps, etc.
https://github.com/appboot/appboot
appboot cicd initial lint scaffold scaffolding template
Last synced: 10 days ago
JSON representation
Appboot, which means application BootLoader, is a universal platform for creating applications. Appboot creates applications based on templates. A template contains code, configuration(description, parameters, custom scripts), and more. In custom scripts, you can do anything like commit code, configure CI&CD, DevOps, etc.
- Host: GitHub
- URL: https://github.com/appboot/appboot
- Owner: appboot
- License: mit
- Created: 2020-02-16T06:44:50.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-05-05T02:30:26.000Z (over 1 year ago)
- Last Synced: 2024-08-02T02:13:29.245Z (3 months ago)
- Topics: appboot, cicd, initial, lint, scaffold, scaffolding, template
- Language: Go
- Homepage:
- Size: 766 KB
- Stars: 8
- Watchers: 3
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README-zh.md
- License: LICENSE
Awesome Lists containing this project
README
# appboot
![Go](https://github.com/appboot/appboot/workflows/Go/badge.svg)
[![codecov](https://codecov.io/gh/appboot/appboot/branch/master/graph/badge.svg)](https://codecov.io/gh/appboot/appboot)
[![Go Report Card](https://goreportcard.com/badge/github.com/appboot/appboot)](https://goreportcard.com/report/github.com/appboot/appboot)
[![Release](https://img.shields.io/github/release/appboot/appboot.svg)](https://github.com/appboot/appboot/releases)
[![GoDoc](https://godoc.org/github.com/appboot/appboot?status.svg)](https://pkg.go.dev/github.com/appboot/appboot?tab=doc)
Appboot 取 application BootLoader 之意, 是一个通用的应用创建平台。
Appboot 基于[模板](https://github.com/appboot/templates)创建应用。你可以自定义模板来满足个性化的需求。
模板里包含**代码**、**配置**(模板描述、参数列表、自定义脚本)等。
在自定义的脚本里,你可以做**提交代码、配置 CI&CD、DevOps** 等任何事情。
---
## 安装
```sh
# Go 1.16+
go install github.com/appboot/[email protected]# Go version < 1.16
go get -u github.com/appboot/[email protected]
```## 快速开始
### 命令行工具
```shell
appboot create
```![](https://cdn.jsdelivr.net/gh/appboot/resources@master/appboot.gif)
### appboot web
```sh
$ docker run -it \
-e API_URL=http://127.0.0.1:8000 \
-v $HOME/appboot:/root/.appboot \
-p 8000:8000 \
-p 3000:80 \
appboot/appboot
```访问 ,即可**更新模板**并**创建项目**。
![](https://cdn.jsdelivr.net/gh/appboot/resources@master/appboot-web.gif)
> 注:
>
> - `-e API_URL`:API 的地址。appboot docker 包含了前后端,所以 `API_URL` 就是部署 appboot docker 的地址,其中 API 后端服务端口为 `8000`,前端端口为 `80`。
> - `-v $HOME/appboot:/root/.appboot`:将 appboot 的**工作目录**映射到本机的 `$HOME/appboot`,这样就可以将[配置](#配置)和**数据**持久化到本地。
> 当创建完 `test` 项目后,即可在工作目录中找到
>
> ```sh
> ❯ tree -a -L 2 $HOME/appboot
> /Users/catchzeng/appboot
> ├── workspace
> │ └── test
> └── templates
> ├── GO-CMD
> ├── README-CN.md
> ├── README.md
> ├── SwiftUI
> └── VUE
>
> 6 directories, 2 files
> ```> - `-p 8000:8000`:将 API 后端服务的 `8000` 端口映射为本机的 `8000`
> - `-p 3000:80`:将前端的 `80` 端口映射为本机的 `3000`## 配置
appboot 配置文件 `config.yaml` 位于 `$HOME/.appboot/` 目录下。如果没有该文件,你可以自行创建它。
当前配置文件支持 **templateSource** 和 **templateRoot**。
- templateSource: 指定获取模板的代码仓库,默认值是 。如果默认的仓库没有你想要的模板,可以指定为自己的代码仓库。
- templateRoot: 指定了模板的存储和获取路径,默认值是 `$HOME/.appboot/templates/`。比如设置 `templateRoot: /Users/catchzeng/Desktop/templates` 表示指定模板的路径为我的桌面。
```shell
$ cat $HOME/.appboot/config.yaml
templateSource: https://github.com/CatchZeng/templates.git
templateRoot: /Users/catchzeng/Desktop/templates
```