• Stars
    star
    173
  • Rank 220,124 (Top 5 %)
  • Language
    Go
  • Created about 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🌻marewood is an open source automatic packaging deployment tool for front-end

Task Repo

MareWood

MareWood is a lightweight front-end deployment tool that is developed using GOLANG, GIN, GORM, JWT, WEBSOCKET, SQLITE, REACT, and MATERIAL-UI. Unlike Jenkins, which is large and comprehensive, MareWood is simple and focuses specifically on front-end. You can flexibly configure various deployment environments. If you wish, online publishing can be as simple as clicking a button, and of course, you can also configure WEBHOOK, so that submitting GIT code will automatically release.

What is MareWood doing?

MareWood is a front-end deployment tool that can help you clone your front-end repository and install dependencies using the tools you choose. It allows you to package multiple environments in the same repository by using different task commands and different branches. The generated front-end resources will be placed in the "resources\webs" directory, and can be accessed easily by corresponding task IDs. MareWood is designed to be easy to use, flexible and super easy to access.

Usage

To use MareWood, users can:

  1. Fill in the repository address
  2. Create multiple tasks associated with the repository
  3. Click the package button, wait for the process to complete and then access the resources.

Once a task is created, users can switch branches and package them at any time.

To set up the service:

  1. Install git, node, npm on the server, it is recommended to install cnpm and yarn for options.
  2. Modify the config.json to configure the port number, domain, and supported front-end tools for MareWood.
  3. Enter the public directory to install front-end dependencies and package them to generate the build folder.
  4. Compile MareWood and run it in the background.

Other: MareWood provides http access, it is recommended to use nginx to provide https static file server (nginx points to resources\webs, configure your OtherAddressUrl field, can be left blank) in this way you can flexibly choose http or https to access the packaged front-end project.

How can a React or Vue project configure multiple build commands? Please refer to http://xusenlin.com/article?key=iQBftC

Roles

Currently, the roles are divided into: Super Administrator, Administrator, Developer, and Project Journalist. The permissions are as follows:

  • Project Journalist - can only view all content and access the packaged front-end project
  • Developer - has the permissions to create repositories, categories, tasks, pull code, switch branches, run builds, delete dependencies, and trim branches
  • Administrator - can delete repositories, categories, and tasks
  • Super Administrator - can manage users (promote and demote roles, delete users)

Note: Higher-level roles have all the permissions of lower-level roles. Users are registered as Project Journalists by default. If the registered name is Admin, it will automatically become a Super Administrator. Registered names cannot be duplicated.

Update log

Unpublished (current code 2022.11.07)

  • Add one-click download of the packaged compressed file (visit you-url/run_task_and_pack?id=3 to use the latest code to package the corresponding task and generate a compressed package for download)
  • Add a task default branch modification to main

v0.40

(This version upgrade requires the jobs table to be modified to tasks, the repository table's job_status field to be modified to task_status, and the category table's job_quantity field to be modified to task_quantity)

  • Re-optimized the Logo, it looks smarter than before :) (2021-01-17)
  • Added online number display (2021-01-05)
  • Added internationalization support (2021-01-05)
  • Added the ability to quickly locate the corresponding repository for a task (2020-12-31)
  • webhook support for post or get requests (2020-12-30)
  • Partially refactored the front-end task code (2020-12-30)
  • Optimized the search bar and added category searchability (2020-12-30)
  • Added websocket notification record (2020-12-30)

v0.30

  • @wenbiyou added the search function for tasks and repositories (2020-12-07)
  • Added a websocket retry mechanism
  • @wojiaolingdu111 added the repository rebuilding function
  • Added websocket broadcasting, so that the status of each repository and task is in real-time synchronization with all people.
  • Optimized the interface request loading animation to prohibit page operation.
  • Added the ability to view the user's code submission record.

License

MIT © Richard McRichface

More Repositories

1

vue-element-ui-admin

🍁 一个基于Vue 3(ScriptSetup) + TS + Vite + ElementPlus + Pinia + VueRouter + Axios的后台模板,做了目录结构的整理和常用方法的封装,开箱即用 :)
Vue
362
star
2

vue-multiple-pages

🍀 一个移动端多页面脚手架,使用vueCli v5.0.8 + Vue(<script setup>) v3.2 + vant v4.0+px2vw适配
JavaScript
105
star
3

Voyager

voyager-zh for laravel
PHP
27
star
4

cdp-ui

通过cdp-ui构建一些子任务来控制浏览器做任何事情:)
Go
18
star
5

VueSpaTemplate

一个vue单页应用模板,封装了api,规划了合理的结构目录。可以方便的集成iviewUi、elementUi、museUi、mintUi、vuxUi等,用于快速开发单页应用
JavaScript
16
star
6

git-helper

🪴git-helper is a simple and beautiful git assistant, cross-platform, and the installation package is only around 10M in size.
TypeScript
10
star
7

hzzm

🌼 汉字之美 一个公益性质的中国诗歌网站,目前收录唐诗57612首,宋诗254248首,宋词21053首,元曲11057首
Go
9
star
8

CFigure

在页面上添加不止一个漂亮的可互交的轮播图插件。不依赖于任何js库。
JavaScript
7
star
9

MaterialUiAdmin

一个干净的Material Ui REACT 后台
JavaScript
6
star
10

imgo

图片内容的查找替换工具
Go
4
star
11

chinese-poetry-migrate

data migrate tools for chinese poetry
Go
3
star
12

ElementUIAdminTool

ElementUIAdmin 的代码生成工具
Go
3
star
13

SMonth

年月选择控件,零依赖。
HTML
3
star
14

ledoufan

乐豆坊 wordpress主题
PHP
2
star
15

hz

JavaScript
1
star
16

office-utils

这是一个使用服务端生成 表格、word、pdf 的前端工具
JavaScript
1
star
17

blog_docs

博客文章
HTML
1
star
18

vueComponents

工作中写的一些有用的vue组件
Vue
1
star
19

VueMultiplePagesApp

一个Vue多页面应用
JavaScript
1
star