mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
inject git version into build
This commit is contained in:
parent
ea93d21641
commit
bc2ec6774d
11
Makefile
11
Makefile
|
@ -8,11 +8,14 @@ appname := weed
|
||||||
|
|
||||||
sources := $(wildcard *.go)
|
sources := $(wildcard *.go)
|
||||||
|
|
||||||
build = CGO_ENABLED=0 GOOS=$(1) GOARCH=$(2) go build -ldflags "-extldflags -static" -o build/$(appname)$(3) $(SOURCE_DIR)
|
COMMIT ?= $(shell git rev-parse --short HEAD)
|
||||||
|
LDFLAGS ?= -X github.com/chrislusf/seaweedfs/weed/util.COMMIT=${COMMIT}
|
||||||
|
|
||||||
|
build = CGO_ENABLED=0 GOOS=$(1) GOARCH=$(2) go build -ldflags "-extldflags -static $(LDFLAGS)" -o build/$(appname)$(3) $(SOURCE_DIR)
|
||||||
tar = cd build && tar -cvzf $(1)_$(2).tar.gz $(appname)$(3) && rm $(appname)$(3)
|
tar = cd build && tar -cvzf $(1)_$(2).tar.gz $(appname)$(3) && rm $(appname)$(3)
|
||||||
zip = cd build && zip $(1)_$(2).zip $(appname)$(3) && rm $(appname)$(3)
|
zip = cd build && zip $(1)_$(2).zip $(appname)$(3) && rm $(appname)$(3)
|
||||||
|
|
||||||
build_large = CGO_ENABLED=0 GOOS=$(1) GOARCH=$(2) go build -tags 5BytesOffset -ldflags "-extldflags -static" -o build/$(appname)$(3) $(SOURCE_DIR)
|
build_large = CGO_ENABLED=0 GOOS=$(1) GOARCH=$(2) go build -tags 5BytesOffset -ldflags "-extldflags -static $(LDFLAGS)" -o build/$(appname)$(3) $(SOURCE_DIR)
|
||||||
tar_large = cd build && tar -cvzf $(1)_$(2)_large_disk.tar.gz $(appname)$(3) && rm $(appname)$(3)
|
tar_large = cd build && tar -cvzf $(1)_$(2)_large_disk.tar.gz $(appname)$(3) && rm $(appname)$(3)
|
||||||
zip_large = cd build && zip $(1)_$(2)_large_disk.zip $(appname)$(3) && rm $(appname)$(3)
|
zip_large = cd build && zip $(1)_$(2)_large_disk.zip $(appname)$(3) && rm $(appname)$(3)
|
||||||
|
|
||||||
|
@ -31,11 +34,11 @@ deps:
|
||||||
rm -rf /home/travis/gopath/src/go.etcd.io/etcd/vendor/golang.org/x/net/trace
|
rm -rf /home/travis/gopath/src/go.etcd.io/etcd/vendor/golang.org/x/net/trace
|
||||||
|
|
||||||
build: deps
|
build: deps
|
||||||
go build $(GO_FLAGS) -o $(BINARY) $(SOURCE_DIR)
|
go build $(GO_FLAGS) -ldflags "$(LDFLAGS)" -o $(BINARY) $(SOURCE_DIR)
|
||||||
|
|
||||||
linux: deps
|
linux: deps
|
||||||
mkdir -p linux
|
mkdir -p linux
|
||||||
GOOS=linux GOARCH=amd64 go build $(GO_FLAGS) -o linux/$(BINARY) $(SOURCE_DIR)
|
GOOS=linux GOARCH=amd64 go build $(GO_FLAGS) -ldflags "$(LDFLAGS)" -o linux/$(BINARY) $(SOURCE_DIR)
|
||||||
|
|
||||||
release: deps windows_build darwin_build linux_build bsd_build 5_byte_linux_build 5_byte_darwin_build 5_byte_windows_build
|
release: deps windows_build darwin_build linux_build bsd_build 5_byte_linux_build 5_byte_darwin_build 5_byte_windows_build
|
||||||
|
|
||||||
|
|
|
@ -115,7 +115,7 @@ func runBenchmark(cmd *Command, args []string) bool {
|
||||||
util.LoadConfiguration("security", false)
|
util.LoadConfiguration("security", false)
|
||||||
b.grpcDialOption = security.LoadClientTLS(util.GetViper(), "grpc.client")
|
b.grpcDialOption = security.LoadClientTLS(util.GetViper(), "grpc.client")
|
||||||
|
|
||||||
fmt.Printf("This is SeaweedFS version %s %s %s\n", util.VERSION, runtime.GOOS, runtime.GOARCH)
|
fmt.Printf("This is SeaweedFS version %s %s %s\n", util.Version(), runtime.GOOS, runtime.GOARCH)
|
||||||
if *b.maxCpu < 1 {
|
if *b.maxCpu < 1 {
|
||||||
*b.maxCpu = runtime.NumCPU()
|
*b.maxCpu = runtime.NumCPU()
|
||||||
}
|
}
|
||||||
|
|
|
@ -121,7 +121,7 @@ func (fo *FilerOptions) startFiler() {
|
||||||
|
|
||||||
if *fo.publicPort != 0 {
|
if *fo.publicPort != 0 {
|
||||||
publicListeningAddress := *fo.bindIp + ":" + strconv.Itoa(*fo.publicPort)
|
publicListeningAddress := *fo.bindIp + ":" + strconv.Itoa(*fo.publicPort)
|
||||||
glog.V(0).Infoln("Start Seaweed filer server", util.VERSION, "public at", publicListeningAddress)
|
glog.V(0).Infoln("Start Seaweed filer server", util.Version(), "public at", publicListeningAddress)
|
||||||
publicListener, e := util.NewListener(publicListeningAddress, 0)
|
publicListener, e := util.NewListener(publicListeningAddress, 0)
|
||||||
if e != nil {
|
if e != nil {
|
||||||
glog.Fatalf("Filer server public listener error on port %d:%v", *fo.publicPort, e)
|
glog.Fatalf("Filer server public listener error on port %d:%v", *fo.publicPort, e)
|
||||||
|
@ -133,7 +133,7 @@ func (fo *FilerOptions) startFiler() {
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
glog.V(0).Infof("Start Seaweed Filer %s at %s:%d", util.VERSION, *fo.ip, *fo.port)
|
glog.V(0).Infof("Start Seaweed Filer %s at %s:%d", util.Version(), *fo.ip, *fo.port)
|
||||||
filerListener, e := util.NewListener(
|
filerListener, e := util.NewListener(
|
||||||
*fo.bindIp+":"+strconv.Itoa(*fo.port),
|
*fo.bindIp+":"+strconv.Itoa(*fo.port),
|
||||||
time.Duration(10)*time.Second,
|
time.Duration(10)*time.Second,
|
||||||
|
|
|
@ -111,7 +111,7 @@ func startMaster(masterOption MasterOptions, masterWhiteList []string) {
|
||||||
r := mux.NewRouter()
|
r := mux.NewRouter()
|
||||||
ms := weed_server.NewMasterServer(r, masterOption.toMasterOption(masterWhiteList), peers)
|
ms := weed_server.NewMasterServer(r, masterOption.toMasterOption(masterWhiteList), peers)
|
||||||
listeningAddress := *masterOption.ipBind + ":" + strconv.Itoa(*masterOption.port)
|
listeningAddress := *masterOption.ipBind + ":" + strconv.Itoa(*masterOption.port)
|
||||||
glog.V(0).Infof("Start Seaweed Master %s at %s", util.VERSION, listeningAddress)
|
glog.V(0).Infof("Start Seaweed Master %s at %s", util.Version(), listeningAddress)
|
||||||
masterListener, e := util.NewListener(listeningAddress, 0)
|
masterListener, e := util.NewListener(listeningAddress, 0)
|
||||||
if e != nil {
|
if e != nil {
|
||||||
glog.Fatalf("Master startup error: %v", e)
|
glog.Fatalf("Master startup error: %v", e)
|
||||||
|
@ -135,7 +135,7 @@ func startMaster(masterOption MasterOptions, masterWhiteList []string) {
|
||||||
master_pb.RegisterSeaweedServer(grpcS, ms)
|
master_pb.RegisterSeaweedServer(grpcS, ms)
|
||||||
protobuf.RegisterRaftServer(grpcS, raftServer)
|
protobuf.RegisterRaftServer(grpcS, raftServer)
|
||||||
reflection.Register(grpcS)
|
reflection.Register(grpcS)
|
||||||
glog.V(0).Infof("Start Seaweed Master %s grpc server at %s:%d", util.VERSION, *masterOption.ipBind, grpcPort)
|
glog.V(0).Infof("Start Seaweed Master %s grpc server at %s:%d", util.Version(), *masterOption.ipBind, grpcPort)
|
||||||
go grpcS.Serve(grpcL)
|
go grpcS.Serve(grpcL)
|
||||||
|
|
||||||
go ms.MasterClient.KeepConnectedToMaster()
|
go ms.MasterClient.KeepConnectedToMaster()
|
||||||
|
|
|
@ -73,7 +73,7 @@ func RunMount(option *MountOptions, umask os.FileMode) bool {
|
||||||
|
|
||||||
util.LoadConfiguration("security", false)
|
util.LoadConfiguration("security", false)
|
||||||
|
|
||||||
fmt.Printf("This is SeaweedFS version %s %s %s\n", util.VERSION, runtime.GOOS, runtime.GOARCH)
|
fmt.Printf("This is SeaweedFS version %s %s %s\n", util.Version(), runtime.GOOS, runtime.GOARCH)
|
||||||
if dir == "" {
|
if dir == "" {
|
||||||
fmt.Printf("Please specify the mount directory via \"-dir\"")
|
fmt.Printf("Please specify the mount directory via \"-dir\"")
|
||||||
return false
|
return false
|
||||||
|
|
|
@ -170,12 +170,12 @@ func (s3opt *S3Options) startS3Server() bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
if *s3opt.tlsPrivateKey != "" {
|
if *s3opt.tlsPrivateKey != "" {
|
||||||
glog.V(0).Infof("Start Seaweed S3 API Server %s at https port %d", util.VERSION, *s3opt.port)
|
glog.V(0).Infof("Start Seaweed S3 API Server %s at https port %d", util.Version(), *s3opt.port)
|
||||||
if err = httpS.ServeTLS(s3ApiListener, *s3opt.tlsCertificate, *s3opt.tlsPrivateKey); err != nil {
|
if err = httpS.ServeTLS(s3ApiListener, *s3opt.tlsCertificate, *s3opt.tlsPrivateKey); err != nil {
|
||||||
glog.Fatalf("S3 API Server Fail to serve: %v", err)
|
glog.Fatalf("S3 API Server Fail to serve: %v", err)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
glog.V(0).Infof("Start Seaweed S3 API Server %s at http port %d", util.VERSION, *s3opt.port)
|
glog.V(0).Infof("Start Seaweed S3 API Server %s at http port %d", util.Version(), *s3opt.port)
|
||||||
if err = httpS.Serve(s3ApiListener); err != nil {
|
if err = httpS.Serve(s3ApiListener); err != nil {
|
||||||
glog.Fatalf("S3 API Server Fail to serve: %v", err)
|
glog.Fatalf("S3 API Server Fail to serve: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,6 @@ func runVersion(cmd *Command, args []string) bool {
|
||||||
cmd.Usage()
|
cmd.Usage()
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Printf("version %s %s %s\n", util.VERSION, runtime.GOOS, runtime.GOARCH)
|
fmt.Printf("version %s %s %s\n", util.Version(), runtime.GOOS, runtime.GOARCH)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
|
@ -250,7 +250,7 @@ func (v VolumeServerOptions) startGrpcService(vs volume_server_pb.VolumeServerSe
|
||||||
|
|
||||||
func (v VolumeServerOptions) startPublicHttpService(handler http.Handler) httpdown.Server {
|
func (v VolumeServerOptions) startPublicHttpService(handler http.Handler) httpdown.Server {
|
||||||
publicListeningAddress := *v.bindIp + ":" + strconv.Itoa(*v.publicPort)
|
publicListeningAddress := *v.bindIp + ":" + strconv.Itoa(*v.publicPort)
|
||||||
glog.V(0).Infoln("Start Seaweed volume server", util.VERSION, "public at", publicListeningAddress)
|
glog.V(0).Infoln("Start Seaweed volume server", util.Version(), "public at", publicListeningAddress)
|
||||||
publicListener, e := util.NewListener(publicListeningAddress, time.Duration(*v.idleConnectionTimeout)*time.Second)
|
publicListener, e := util.NewListener(publicListeningAddress, time.Duration(*v.idleConnectionTimeout)*time.Second)
|
||||||
if e != nil {
|
if e != nil {
|
||||||
glog.Fatalf("Volume server listener error:%v", e)
|
glog.Fatalf("Volume server listener error:%v", e)
|
||||||
|
@ -277,7 +277,7 @@ func (v VolumeServerOptions) startClusterHttpService(handler http.Handler) httpd
|
||||||
}
|
}
|
||||||
|
|
||||||
listeningAddress := *v.bindIp + ":" + strconv.Itoa(*v.port)
|
listeningAddress := *v.bindIp + ":" + strconv.Itoa(*v.port)
|
||||||
glog.V(0).Infof("Start Seaweed volume server %s at %s", util.VERSION, listeningAddress)
|
glog.V(0).Infof("Start Seaweed volume server %s at %s", util.Version(), listeningAddress)
|
||||||
listener, e := util.NewListener(listeningAddress, time.Duration(*v.idleConnectionTimeout)*time.Second)
|
listener, e := util.NewListener(listeningAddress, time.Duration(*v.idleConnectionTimeout)*time.Second)
|
||||||
if e != nil {
|
if e != nil {
|
||||||
glog.Fatalf("Volume server listener error:%v", e)
|
glog.Fatalf("Volume server listener error:%v", e)
|
||||||
|
|
|
@ -54,7 +54,7 @@ func runWebDav(cmd *Command, args []string) bool {
|
||||||
|
|
||||||
util.LoadConfiguration("security", false)
|
util.LoadConfiguration("security", false)
|
||||||
|
|
||||||
glog.V(0).Infof("Starting Seaweed WebDav Server %s at https port %d", util.VERSION, *webDavStandaloneOptions.port)
|
glog.V(0).Infof("Starting Seaweed WebDav Server %s at https port %d", util.Version(), *webDavStandaloneOptions.port)
|
||||||
|
|
||||||
return webDavStandaloneOptions.startWebDav()
|
return webDavStandaloneOptions.startWebDav()
|
||||||
|
|
||||||
|
@ -126,12 +126,12 @@ func (wo *WebDavOption) startWebDav() bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
if *wo.tlsPrivateKey != "" {
|
if *wo.tlsPrivateKey != "" {
|
||||||
glog.V(0).Infof("Start Seaweed WebDav Server %s at https port %d", util.VERSION, *wo.port)
|
glog.V(0).Infof("Start Seaweed WebDav Server %s at https port %d", util.Version(), *wo.port)
|
||||||
if err = httpS.ServeTLS(webDavListener, *wo.tlsCertificate, *wo.tlsPrivateKey); err != nil {
|
if err = httpS.ServeTLS(webDavListener, *wo.tlsCertificate, *wo.tlsPrivateKey); err != nil {
|
||||||
glog.Fatalf("WebDav Server Fail to serve: %v", err)
|
glog.Fatalf("WebDav Server Fail to serve: %v", err)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
glog.V(0).Infof("Start Seaweed WebDav Server %s at http port %d", util.VERSION, *wo.port)
|
glog.V(0).Infof("Start Seaweed WebDav Server %s at http port %d", util.Version(), *wo.port)
|
||||||
if err = httpS.Serve(webDavListener); err != nil {
|
if err = httpS.Serve(webDavListener); err != nil {
|
||||||
glog.Fatalf("WebDav Server Fail to serve: %v", err)
|
glog.Fatalf("WebDav Server Fail to serve: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -191,19 +191,19 @@ func parseURLPath(path string) (vid, fid, filename, ext string, isVolumeIdOnly b
|
||||||
|
|
||||||
func statsHealthHandler(w http.ResponseWriter, r *http.Request) {
|
func statsHealthHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
m := make(map[string]interface{})
|
m := make(map[string]interface{})
|
||||||
m["Version"] = util.VERSION
|
m["Version"] = util.Version()
|
||||||
writeJsonQuiet(w, r, http.StatusOK, m)
|
writeJsonQuiet(w, r, http.StatusOK, m)
|
||||||
}
|
}
|
||||||
func statsCounterHandler(w http.ResponseWriter, r *http.Request) {
|
func statsCounterHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
m := make(map[string]interface{})
|
m := make(map[string]interface{})
|
||||||
m["Version"] = util.VERSION
|
m["Version"] = util.Version()
|
||||||
m["Counters"] = serverStats
|
m["Counters"] = serverStats
|
||||||
writeJsonQuiet(w, r, http.StatusOK, m)
|
writeJsonQuiet(w, r, http.StatusOK, m)
|
||||||
}
|
}
|
||||||
|
|
||||||
func statsMemoryHandler(w http.ResponseWriter, r *http.Request) {
|
func statsMemoryHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
m := make(map[string]interface{})
|
m := make(map[string]interface{})
|
||||||
m["Version"] = util.VERSION
|
m["Version"] = util.Version()
|
||||||
m["Memory"] = stats.MemStat()
|
m["Memory"] = stats.MemStat()
|
||||||
writeJsonQuiet(w, r, http.StatusOK, m)
|
writeJsonQuiet(w, r, http.StatusOK, m)
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ func (ms *MasterServer) collectionDeleteHandler(w http.ResponseWriter, r *http.R
|
||||||
|
|
||||||
func (ms *MasterServer) dirStatusHandler(w http.ResponseWriter, r *http.Request) {
|
func (ms *MasterServer) dirStatusHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
m := make(map[string]interface{})
|
m := make(map[string]interface{})
|
||||||
m["Version"] = util.VERSION
|
m["Version"] = util.Version()
|
||||||
m["Topology"] = ms.Topo.ToMap()
|
m["Topology"] = ms.Topo.ToMap()
|
||||||
writeJsonQuiet(w, r, http.StatusOK, m)
|
writeJsonQuiet(w, r, http.StatusOK, m)
|
||||||
}
|
}
|
||||||
|
@ -93,7 +93,7 @@ func (ms *MasterServer) volumeGrowHandler(w http.ResponseWriter, r *http.Request
|
||||||
|
|
||||||
func (ms *MasterServer) volumeStatusHandler(w http.ResponseWriter, r *http.Request) {
|
func (ms *MasterServer) volumeStatusHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
m := make(map[string]interface{})
|
m := make(map[string]interface{})
|
||||||
m["Version"] = util.VERSION
|
m["Version"] = util.Version()
|
||||||
m["Volumes"] = ms.Topo.ToVolumeMap()
|
m["Volumes"] = ms.Topo.ToVolumeMap()
|
||||||
writeJsonQuiet(w, r, http.StatusOK, m)
|
writeJsonQuiet(w, r, http.StatusOK, m)
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ func (ms *MasterServer) uiStatusHandler(w http.ResponseWriter, r *http.Request)
|
||||||
Stats map[string]interface{}
|
Stats map[string]interface{}
|
||||||
Counters *stats.ServerStats
|
Counters *stats.ServerStats
|
||||||
}{
|
}{
|
||||||
util.VERSION,
|
util.Version(),
|
||||||
ms.Topo.ToMap(),
|
ms.Topo.ToMap(),
|
||||||
ms.Topo.RaftServer,
|
ms.Topo.RaftServer,
|
||||||
infos,
|
infos,
|
||||||
|
|
|
@ -11,7 +11,7 @@ import (
|
||||||
|
|
||||||
func (vs *VolumeServer) statusHandler(w http.ResponseWriter, r *http.Request) {
|
func (vs *VolumeServer) statusHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
m := make(map[string]interface{})
|
m := make(map[string]interface{})
|
||||||
m["Version"] = util.VERSION
|
m["Version"] = util.Version()
|
||||||
var ds []*volume_server_pb.DiskStatus
|
var ds []*volume_server_pb.DiskStatus
|
||||||
for _, loc := range vs.store.Locations {
|
for _, loc := range vs.store.Locations {
|
||||||
if dir, e := filepath.Abs(loc.Directory); e == nil {
|
if dir, e := filepath.Abs(loc.Directory); e == nil {
|
||||||
|
@ -25,7 +25,7 @@ func (vs *VolumeServer) statusHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
func (vs *VolumeServer) statsDiskHandler(w http.ResponseWriter, r *http.Request) {
|
func (vs *VolumeServer) statsDiskHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
m := make(map[string]interface{})
|
m := make(map[string]interface{})
|
||||||
m["Version"] = util.VERSION
|
m["Version"] = util.Version()
|
||||||
var ds []*volume_server_pb.DiskStatus
|
var ds []*volume_server_pb.DiskStatus
|
||||||
for _, loc := range vs.store.Locations {
|
for _, loc := range vs.store.Locations {
|
||||||
if dir, e := filepath.Abs(loc.Directory); e == nil {
|
if dir, e := filepath.Abs(loc.Directory); e == nil {
|
||||||
|
|
|
@ -40,7 +40,7 @@ func (vs *VolumeServer) uiStatusHandler(w http.ResponseWriter, r *http.Request)
|
||||||
Stats interface{}
|
Stats interface{}
|
||||||
Counters *stats.ServerStats
|
Counters *stats.ServerStats
|
||||||
}{
|
}{
|
||||||
util.VERSION,
|
util.Version(),
|
||||||
vs.SeedMasterNodes,
|
vs.SeedMasterNodes,
|
||||||
normalVolumeInfos,
|
normalVolumeInfos,
|
||||||
vs.store.EcVolumes(),
|
vs.store.EcVolumes(),
|
||||||
|
|
|
@ -6,4 +6,9 @@ import (
|
||||||
|
|
||||||
var (
|
var (
|
||||||
VERSION = fmt.Sprintf("%s %d.%d", sizeLimit, 1, 79)
|
VERSION = fmt.Sprintf("%s %d.%d", sizeLimit, 1, 79)
|
||||||
|
COMMIT = ""
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func Version() string {
|
||||||
|
return VERSION + " " + COMMIT
|
||||||
|
}
|
Loading…
Reference in a new issue