Skip to content

Commit 8c0c665

Browse files
committed
Repackage the front end to simplify the compilation process
1 parent 9dc58f3 commit 8c0c665

File tree

245 files changed

+3612
-25063
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

245 files changed

+3612
-25063
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "frontend"]
2+
path = frontend
3+
url = https://github.com/housepower/ckman-fe.git

Makefile

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@ ARCH=$(shell uname -m)
1414
TARNAME=${PKGDIR}-${VERSION}-${DATE}.${OS}.$(ARCH).tar.gz
1515
TAG?=$(shell date +%y%m%d)
1616
LDFLAGS=-ldflags "-X main.BuildTimeStamp=${TIME} -X main.GitCommitHash=${REVISION} -X main.Version=${VERSION}"
17+
export GOPROXY=https://goproxy.cn,direct
18+
19+
.PHONY: frontend
20+
frontend:
21+
rm -rf static/dist
22+
make -C frontend build
23+
cp -r frontend/dist static
1724

1825
.PHONY: backend
1926
backend:
@@ -28,14 +35,12 @@ backend:
2835
.PHONY: pre
2936
pre:
3037
go mod tidy
31-
go get github.com/markbates/pkger/cmd/pkger
38+
go get github.com/markbates/pkger/cmd/pkger
3239
go get github.com/swaggo/swag/cmd/swag
3340

3441
.PHONY: build
35-
build: pre
36-
@rm -rf ${PKGFULLDIR}
37-
make -C frontend build
38-
pkger
42+
build:pre
43+
@test -d static/dist || (git submodule update --init --recursive && make frontend && pkger)
3944
swag init
4045
go build ${LDFLAGS}
4146
go build ${LDFLAGS} -o ckmanpasswd password/password.go
@@ -45,7 +50,7 @@ build: pre
4550
go build ${LDFLAGS} -o purger cmd/purger/purger.go
4651

4752
.PHONY: package
48-
package:
53+
package:build
4954
@rm -rf ${PKGFULLDIR_TMP}
5055
@mkdir -p ${PKGFULLDIR_TMP}/bin ${PKGFULLDIR_TMP}/conf ${PKGFULLDIR_TMP}/run ${PKGFULLDIR_TMP}/logs ${PKGFULLDIR_TMP}/package ${PKGFULLDIR_TMP}/template
5156
@mv ${SHDIR}/ckman ${PKGFULLDIR_TMP}/bin
@@ -70,20 +75,20 @@ package:
7075
.PHONY: docker-build
7176
docker-build:
7277
rm -rf ${PKGDIR}-*.tar.gz
73-
docker run --rm -v "$$PWD":/var/ckman -w /var/ckman -e GO111MODULE=on -e GOPROXY=https://goproxy.cn,direct eoitek/ckman-build:go-1.16 make build VERSION=${VERSION} && make package VERSION=${VERSION}
78+
docker run --rm -v "$$PWD":/var/ckman -w /var/ckman -e GO111MODULE=on -e GOPROXY=https://goproxy.cn,direct eoitek/ckman-build:go-1.16 make package VERSION=${VERSION}
7479

7580
.PHONY: docker-sh
7681
docker-sh:
7782
docker run --rm -it -v "$$PWD":/var/ckman -w /var/ckman -e GO111MODULE=on -e GOPROXY=https://goproxy.cn,direct eoitek/ckman-build:go-1.16 bash
7883

7984
.PHONY: rpm
80-
rpm:
85+
rpm:build
8186
@sed "s/trunk/${VERSION}/g" nfpm.yaml > nfpm_${VERSION}.yaml
8287
nfpm -f nfpm_${VERSION}.yaml pkg --packager rpm --target .
8388
@rm nfpm_${VERSION}.yaml
8489

8590
.PHONY: deb
86-
deb:
91+
deb:build
8792
@sed "s/trunk/${VERSION}/g" nfpm.yaml > nfpm_${VERSION}.yaml
8893
nfpm -f nfpm_${VERSION}.yaml pkg --packager deb --target .
8994
@rm nfpm_${VERSION}.yaml
@@ -103,7 +108,7 @@ test-ci:package
103108
@docker-compose down -v
104109

105110
.PHONY: docker-image
106-
docker-image:
111+
docker-image:build
107112
docker build -t ckman:${VERSION} .
108113
docker tag ckman:${VERSION} quay.io/housepower/ckman:${VERSION}
109114
docker tag ckman:${VERSION} quay.io/housepower/ckman:latest

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ This is a tool which used to manage and monitor ClickHouse database
33

44
## build command
55
```bash
6-
make build VERSION=x.x.x
76
make package VERSION=x.x.x
87
```
98

docs/Ckman_Document_zh.md

Lines changed: 7 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -20,66 +20,17 @@ ckman支持多中心部署,使用nacos进行配置同步,可以对多个集
2020

2121
## Linux & MacOS下编译
2222

23-
### 编译环境配置
24-
25-
1. 安装Node.js
26-
27-
由于ckman将前端代码静态嵌入到了server中,因此需要安装Node.js以编译前端代码:
28-
29-
MacOS上安装Node.js:
30-
31-
```bash
32-
brew install node
33-
```
34-
35-
Linux下安装Node.js:
36-
37-
```bash
38-
yum install -y nodejs
39-
```
40-
41-
安装完成后,在frontend目录下执行:
42-
43-
```
44-
cd frontend
45-
sudo rm -rf node_modules package-lock.json && npm install
46-
```
47-
48-
2. 安装`pkger`
49-
50-
```bash
51-
go get github.com/markbates/pkger/cmd/pkger
52-
```
53-
54-
3. 安装`swag`
55-
56-
```bash
57-
go get -u github.com/swaggo/swag/cmd/swag
58-
```
59-
60-
4. 安装 `nfpm2.2.4`:
61-
62-
`nfpm`是一款用来打包``rpm`的工具,如果不打算做成`rpm`包,可以不安装。
63-
64-
由于`nfpm`新版本配置文件和旧版本差别很大,建议安装指定的`2.2.4`版本。
65-
66-
```
67-
wget -q https://github.com/goreleaser/nfpm/releases/download/v2.2.4/nfpm_2.2.4_Linux_x86_64.tar.gz
68-
tar -xzvf nfpm_2.2.4_Linux_x86_64.tar.gz
69-
cp nfpm /usr/local/bin
70-
```
71-
7223
### 编译命令
7324

74-
`Linux``MacOS`下编译命令都是一样的:
25+
`ckman`依赖`golang`(推荐`1.16`),需要提前安装好, `Linux``MacOS`下编译命令都是一样的:
7526

7627
```bash
7728
make package VERSION=x.x.x
7829
```
7930

8031
以上命令会编译成打包成一个`tar.gz`安装包,该安装包解压即可用。
8132

82-
`VERSION`是指定的版本号,如果不指定,则默认生成一个版本号为`trunk`的版本
33+
`VERSION`是指定的版本号,如果不指定,则默认取`git describe --tags --dirty`的结果作为版本号
8334

8435
### rpm编译
8536

@@ -112,7 +63,11 @@ make rpm VERSION=x.x.x
11263

11364
# ckman安装部署
11465

115-
`ckman`部署分为`rpm`包安装和`tar.gz`包安装。其实只是提供的安装包不一样,实际安装还是一样的。
66+
## 部署依赖
67+
- `prometheus`(非必需)
68+
- `node_exporter`(非必需)
69+
- `nacos`(>`1.4`,目前不支持`2.0`)(非必需)
70+
- `zookeeper`(>`3.5.0`, 推荐 )
11671

11772
## rpm安装
11873

frontend

Submodule frontend added at 6e3c3b8

frontend/.browserslistrc

Lines changed: 0 additions & 8 deletions
This file was deleted.

frontend/.eslintignore

Lines changed: 0 additions & 9 deletions
This file was deleted.

frontend/.eslintrc.js

Lines changed: 0 additions & 182 deletions
This file was deleted.

frontend/.gitignore

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)