forked from mirror/ledisdb
Add version for ledis command and make build will only build ledis (#383)
* Add version for ledis command and make build will only build ledis * More improvement for Makefile * Add version for other commands
This commit is contained in:
parent
72deb0e7c7
commit
b08f85e6fb
|
@ -22,7 +22,7 @@ This document explains how to contribute changes to the Ledisdb project.
|
||||||
Please search the issues on the issue tracker with a variety of keywords
|
Please search the issues on the issue tracker with a variety of keywords
|
||||||
to ensure your bug is not already reported.
|
to ensure your bug is not already reported.
|
||||||
|
|
||||||
If unique, [open an issue](https://github.com/siddontang/ledisdb/issues/new)
|
If unique, [open an issue](https://github.com/ledisdb/ledisdb/issues/new)
|
||||||
and answer the questions so we can understand and reproduce the
|
and answer the questions so we can understand and reproduce the
|
||||||
problematic behavior.
|
problematic behavior.
|
||||||
|
|
||||||
|
|
12
Dockerfile
12
Dockerfile
|
@ -23,16 +23,16 @@ RUN apt-get update && \
|
||||||
libgflags-dev
|
libgflags-dev
|
||||||
|
|
||||||
# get LedisDB
|
# get LedisDB
|
||||||
RUN wget -O ledisdb-src.tar.gz "https://github.com/siddontang/ledisdb/archive/v$LEDISDB_VERSION.tar.gz" && \
|
RUN wget -O ledisdb-src.tar.gz "https://github.com/ledisdb/ledisdb/archive/v$LEDISDB_VERSION.tar.gz" && \
|
||||||
tar -zxf ledisdb-src.tar.gz && \
|
tar -zxf ledisdb-src.tar.gz && \
|
||||||
mkdir -p /go/src/github.com/siddontang/ && \
|
mkdir -p /go/src/github.com/ledisdb/ && \
|
||||||
mv ledisdb-$LEDISDB_VERSION /go/src/github.com/siddontang/ledisdb
|
mv ledisdb-$LEDISDB_VERSION /go/src/github.com/ledisdb/ledisdb
|
||||||
|
|
||||||
# build LevelDB
|
# build LevelDB
|
||||||
RUN wget -O leveldb-src.tar.gz "https://github.com/google/leveldb/archive/$LEVELDB_VERSION.tar.gz" && \
|
RUN wget -O leveldb-src.tar.gz "https://github.com/google/leveldb/archive/$LEVELDB_VERSION.tar.gz" && \
|
||||||
tar -zxf leveldb-src.tar.gz && \
|
tar -zxf leveldb-src.tar.gz && \
|
||||||
cd leveldb-$LEVELDB_VERSION && \
|
cd leveldb-$LEVELDB_VERSION && \
|
||||||
patch -p0 < /go/src/github.com/siddontang/ledisdb/tools/leveldb.patch && \
|
patch -p0 < /go/src/github.com/ledisdb/ledisdb/tools/leveldb.patch && \
|
||||||
mkdir -p out-shared/db && \
|
mkdir -p out-shared/db && \
|
||||||
make -j "$(nproc)" && \
|
make -j "$(nproc)" && \
|
||||||
mkdir /build/lib && \
|
mkdir /build/lib && \
|
||||||
|
@ -59,7 +59,7 @@ RUN export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/build/lib:/usr/lib && \
|
||||||
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/build/lib:/usr/lib && \
|
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/build/lib:/usr/lib && \
|
||||||
mkdir -p /build/bin && \
|
mkdir -p /build/bin && \
|
||||||
rm -rf /build/bin/* && \
|
rm -rf /build/bin/* && \
|
||||||
cd /go/src/github.com/siddontang/ledisdb && \
|
cd /go/src/github.com/ledisdb/ledisdb && \
|
||||||
GOGC=off go build -i -o /build/bin/ledis-server -tags "snappy leveldb rocksdb" cmd/ledis-server/* && \
|
GOGC=off go build -i -o /build/bin/ledis-server -tags "snappy leveldb rocksdb" cmd/ledis-server/* && \
|
||||||
GOGC=off go build -i -o /build/bin/ledis-cli -tags "snappy leveldb rocksdb" cmd/ledis-cli/* && \
|
GOGC=off go build -i -o /build/bin/ledis-cli -tags "snappy leveldb rocksdb" cmd/ledis-cli/* && \
|
||||||
GOGC=off go build -i -o /build/bin/ledis-benchmark -tags "snappy leveldb rocksdb" cmd/ledis-benchmark/* && \
|
GOGC=off go build -i -o /build/bin/ledis-benchmark -tags "snappy leveldb rocksdb" cmd/ledis-benchmark/* && \
|
||||||
|
@ -84,7 +84,7 @@ FROM debian:stretch-slim
|
||||||
|
|
||||||
COPY --from=builder /build/lib/* /usr/lib/
|
COPY --from=builder /build/lib/* /usr/lib/
|
||||||
COPY --from=builder /build/bin/ledis-* /bin/
|
COPY --from=builder /build/bin/ledis-* /bin/
|
||||||
COPY --from=builder /go/src/github.com/siddontang/ledisdb/config/config-docker.toml /config.toml
|
COPY --from=builder /go/src/github.com/ledisdb/ledisdb/config/config-docker.toml /config.toml
|
||||||
COPY --from=builder /usr/local/bin/gosu /bin/
|
COPY --from=builder /usr/local/bin/gosu /bin/
|
||||||
|
|
||||||
RUN groupadd -r ledis && \
|
RUN groupadd -r ledis && \
|
||||||
|
|
23
Makefile
23
Makefile
|
@ -12,18 +12,25 @@ export DYLD_LIBRARY_PATH
|
||||||
export GO_BUILD_TAGS
|
export GO_BUILD_TAGS
|
||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
|
|
||||||
|
|
||||||
PACKAGES ?= $(shell GO111MODULE=on go list -mod=vendor ./... | grep -v /vendor/)
|
PACKAGES ?= $(shell GO111MODULE=on go list -mod=vendor ./... | grep -v /vendor/)
|
||||||
|
DIST := bin
|
||||||
|
VERSION ?= $(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//')
|
||||||
|
LDFLAGS := $(LDFLAGS) -X "main.version=$(VERSION)" -X "main.buildTags=$(GO_BUILD_TAGS)"
|
||||||
|
|
||||||
all: build
|
all: build
|
||||||
|
|
||||||
build:
|
build: build-ledis
|
||||||
go build -mod=vendor -o bin/ledis-server -tags '$(GO_BUILD_TAGS)' cmd/ledis-server/*.go
|
|
||||||
go build -mod=vendor -o bin/ledis-cli -tags '$(GO_BUILD_TAGS)' cmd/ledis-cli/*.go
|
build-ledis:
|
||||||
go build -mod=vendor -o bin/ledis-benchmark -tags '$(GO_BUILD_TAGS)' cmd/ledis-benchmark/*.go
|
go build -mod=vendor -o $(DIST)/ledis -tags '$(GO_BUILD_TAGS)' -ldflags '-s -w $(LDFLAGS)' cmd/ledis/*.go
|
||||||
go build -mod=vendor -o bin/ledis-dump -tags '$(GO_BUILD_TAGS)' cmd/ledis-dump/*.go
|
|
||||||
go build -mod=vendor -o bin/ledis-load -tags '$(GO_BUILD_TAGS)' cmd/ledis-load/*.go
|
build-commands:
|
||||||
go build -mod=vendor -o bin/ledis-repair -tags '$(GO_BUILD_TAGS)' cmd/ledis-repair/*.go
|
go build -mod=vendor -o $(DIST)/ledis-server -tags '$(GO_BUILD_TAGS)' -ldflags '-s -w $(LDFLAGS)' cmd/ledis-server/*.go
|
||||||
|
go build -mod=vendor -o $(DIST)/ledis-cli -tags '$(GO_BUILD_TAGS)' -ldflags '-s -w $(LDFLAGS)' cmd/ledis-cli/*.go
|
||||||
|
go build -mod=vendor -o $(DIST)/ledis-benchmark -tags '$(GO_BUILD_TAGS)' -ldflags '-s -w $(LDFLAGS)' cmd/ledis-benchmark/*.go
|
||||||
|
go build -mod=vendor -o $(DIST)/ledis-dump -tags '$(GO_BUILD_TAGS)' -ldflags '-s -w $(LDFLAGS)' cmd/ledis-dump/*.go
|
||||||
|
go build -mod=vendor -o $(DIST)/ledis-load -tags '$(GO_BUILD_TAGS)' -ldflags '-s -w $(LDFLAGS)' cmd/ledis-load/*.go
|
||||||
|
go build -mod=vendor -o $(DIST)/ledis-repair -tags '$(GO_BUILD_TAGS)' -ldflags '-s -w $(LDFLAGS)' cmd/ledis-repair/*.go
|
||||||
|
|
||||||
vet:
|
vet:
|
||||||
go vet -mod=vendor -tags '$(GO_BUILD_TAGS)' ./...
|
go vet -mod=vendor -tags '$(GO_BUILD_TAGS)' ./...
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# LedisDB
|
# LedisDB
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/ledisdb/ledisdb.svg?branch=develop)](https://travis-ci.org/siddontang/ledisdb) [![codecov](https://codecov.io/gh/ledisdb/ledisdb/branch/master/graph/badge.svg)](https://codecov.io/gh/ledisdb/ledisdb)
|
[![Build Status](https://travis-ci.org/ledisdb/ledisdb.svg?branch=develop)](https://travis-ci.org/ledisdb/ledisdb) [![codecov](https://codecov.io/gh/ledisdb/ledisdb/branch/master/graph/badge.svg)](https://codecov.io/gh/ledisdb/ledisdb)
|
||||||
|
|
||||||
Ledisdb is a high-performance NoSQL database, similar to Redis, written in [Go](http://golang.org/). It supports many data structures including kv, list, hash, zset, set.
|
Ledisdb is a high-performance NoSQL database, similar to Redis, written in [Go](http://golang.org/). It supports many data structures including kv, list, hash, zset, set.
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ LedisDB now supports multiple different databases as backends.
|
||||||
+ HTTP API support, JSON/BSON/msgpack output.
|
+ HTTP API support, JSON/BSON/msgpack output.
|
||||||
+ Replication to guarantee data safety.
|
+ Replication to guarantee data safety.
|
||||||
+ Supplies tools to load, dump, and repair database.
|
+ Supplies tools to load, dump, and repair database.
|
||||||
+ Supports cluster, use [xcodis](https://github.com/siddontang/xcodis)
|
+ Supports cluster, use [xcodis](https://github.com/ledisdb/xcodis)
|
||||||
+ Authentication (though, not via http)
|
+ Authentication (though, not via http)
|
||||||
|
|
||||||
## Build from source
|
## Build from source
|
||||||
|
@ -145,7 +145,7 @@ Set slaveof in config or dynamiclly
|
||||||
|
|
||||||
## Cluster support
|
## Cluster support
|
||||||
|
|
||||||
LedisDB uses a proxy named [xcodis](https://github.com/siddontang/xcodis) to support cluster.
|
LedisDB uses a proxy named [xcodis](https://github.com/ledisdb/xcodis) to support cluster.
|
||||||
|
|
||||||
## CONTRIBUTING
|
## CONTRIBUTING
|
||||||
|
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
find vendor \( -type f -or -type l \) -not -name "*.go" -not -name "LICENSE" -not -name "*.s" -not -name "PATENTS" -not -name "*.h" -not -name "*.c" | xargs -I {} rm {}
|
|
||||||
# delete all test files
|
|
||||||
find vendor -type f -name "*_generated.go" | xargs -I {} rm {}
|
|
||||||
find vendor -type f -name "*_test.go" | xargs -I {} rm {}
|
|
||||||
find vendor -type d -name "_vendor" | xargs -I {} rm -rf {}
|
|
||||||
find vendor -type d -empty | xargs -I {} rm -rf {}
|
|
|
@ -1,7 +1,22 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import "github.com/ledisdb/ledisdb/cmd"
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/ledisdb/ledisdb/cmd"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
version = "dev"
|
||||||
|
buildTag string
|
||||||
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
fmt.Printf("Version %s", version)
|
||||||
|
if len(buildTag) > 0 {
|
||||||
|
fmt.Printf(" with tag %s", buildTag)
|
||||||
|
}
|
||||||
|
fmt.Println()
|
||||||
|
|
||||||
cmd.CmdBenchmark()
|
cmd.CmdBenchmark()
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,22 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import "github.com/ledisdb/ledisdb/cmd"
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/ledisdb/ledisdb/cmd"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
version = "dev"
|
||||||
|
buildTag string
|
||||||
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
fmt.Printf("Version %s", version)
|
||||||
|
if len(buildTag) > 0 {
|
||||||
|
fmt.Printf(" with tag %s", buildTag)
|
||||||
|
}
|
||||||
|
fmt.Println()
|
||||||
|
|
||||||
cmd.CmdCli()
|
cmd.CmdCli()
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,22 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import "github.com/ledisdb/ledisdb/cmd"
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/ledisdb/ledisdb/cmd"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
version = "dev"
|
||||||
|
buildTag string
|
||||||
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
fmt.Printf("Version %s", version)
|
||||||
|
if len(buildTag) > 0 {
|
||||||
|
fmt.Printf(" with tag %s", buildTag)
|
||||||
|
}
|
||||||
|
fmt.Println()
|
||||||
|
|
||||||
cmd.CmdDump()
|
cmd.CmdDump()
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,22 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import "github.com/ledisdb/ledisdb/cmd"
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/ledisdb/ledisdb/cmd"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
version = "dev"
|
||||||
|
buildTag string
|
||||||
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
fmt.Printf("Version %s", version)
|
||||||
|
if len(buildTag) > 0 {
|
||||||
|
fmt.Printf(" with tag %s", buildTag)
|
||||||
|
}
|
||||||
|
fmt.Println()
|
||||||
|
|
||||||
cmd.CmdLoad()
|
cmd.CmdLoad()
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,22 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import "github.com/ledisdb/ledisdb/cmd"
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/ledisdb/ledisdb/cmd"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
version = "dev"
|
||||||
|
buildTag string
|
||||||
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
fmt.Printf("Version %s", version)
|
||||||
|
if len(buildTag) > 0 {
|
||||||
|
fmt.Printf(" with tag %s", buildTag)
|
||||||
|
}
|
||||||
|
fmt.Println()
|
||||||
|
|
||||||
cmd.CmdRepair()
|
cmd.CmdRepair()
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,22 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"github.com/ledisdb/ledisdb/cmd"
|
"github.com/ledisdb/ledisdb/cmd"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
version = "dev"
|
||||||
|
buildTag string
|
||||||
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
fmt.Printf("Version %s", version)
|
||||||
|
if len(buildTag) > 0 {
|
||||||
|
fmt.Printf(" with tag %s", buildTag)
|
||||||
|
}
|
||||||
|
fmt.Println()
|
||||||
|
|
||||||
cmd.CmdServer()
|
cmd.CmdServer()
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,9 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
version = "dev"
|
||||||
|
buildTag string
|
||||||
|
|
||||||
cmds = [][]string{
|
cmds = [][]string{
|
||||||
{"server", "run ledis server"},
|
{"server", "run ledis server"},
|
||||||
{"cli", "run ledis client"},
|
{"cli", "run ledis client"},
|
||||||
|
@ -29,6 +32,11 @@ func printCmd(cmd, description string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
fmt.Printf("Version %s", version)
|
||||||
|
if len(buildTag) > 0 {
|
||||||
|
fmt.Printf(" with tag %s", buildTag)
|
||||||
|
}
|
||||||
|
fmt.Println()
|
||||||
var subCmd string
|
var subCmd string
|
||||||
if len(os.Args) == 1 {
|
if len(os.Args) == 1 {
|
||||||
subCmd = "server"
|
subCmd = "server"
|
||||||
|
|
6
dev.sh
6
dev.sh
|
@ -1,10 +1,10 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
export LEDISTOP=$(pwd)
|
export LEDISTOP=$(pwd)
|
||||||
export LEDISROOT="${LEDISROOT:-${LEDISTOP/\/src\/github.com\/siddontang\/ledisdb/}}"
|
export LEDISROOT="${LEDISROOT:-${LEDISTOP/\/src\/github.com\/ledisdb\/ledisdb/}}"
|
||||||
# LEDISTOP sanity check
|
# LEDISTOP sanity check
|
||||||
if [[ "$LEDISTOP" == "${LEDISTOP/\/src\/github.com\/siddontang\/ledisdb/}" ]]; then
|
if [[ "$LEDISTOP" == "${LEDISTOP/\/src\/github.com\/ledisdb\/ledisdb/}" ]]; then
|
||||||
echo "WARNING: LEDISTOP($LEDISTOP) does not contain src/github.com/siddontang/ledisdb"
|
echo "WARNING: LEDISTOP($LEDISTOP) does not contain src/github.com/ledisdb/ledisdb"
|
||||||
false
|
false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -48,4 +48,4 @@ XSCAN type cursor [MATCH match] [COUNT count]
|
||||||
|
|
||||||
LedisDB supports `dump` to serialize the value with key, the data format is the same as Redis, so you can use it in Redis and vice versa.
|
LedisDB supports `dump` to serialize the value with key, the data format is the same as Redis, so you can use it in Redis and vice versa.
|
||||||
|
|
||||||
Of course, LedisDB has not implemented all APIs in Redis, you can see full commands in commands.json, commands.doc or [wiki](https://github.com/siddontang/ledisdb/wiki/Commands).
|
Of course, LedisDB has not implemented all APIs in Redis, you can see full commands in commands.json, commands.doc or [wiki](https://github.com/ledisdb/ledisdb/wiki/Commands).
|
Loading…
Reference in New Issue