From 6f1ace35bf731c5a8089b2bc898bcb8af4200464 Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Mon, 4 Sep 2017 17:22:52 +0800 Subject: [PATCH] add build number for drone. Signed-off-by: Bo-Yi Wu --- Dockerfile | 12 +++++++++--- Makefile | 12 ++++++++---- main.go | 10 +++++++++- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2971d32..470f5dc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,16 @@ FROM alpine:3.4 RUN apk update && \ - apk add \ - ca-certificates \ - openssh-client && \ + apk add -U --no-cache \ + ca-certificates \ + openssh-client && \ rm -rf /var/cache/apk/* +LABEL org.label-schema.version=latest +LABEL org.label-schema.vcs-url="https://github.com/appleboy/drone-ssh.git" +LABEL org.label-schema.name="drone-ssh" +LABEL org.label-schema.vendor="Bo-Yi Wu" +LABEL org.label-schema.schema-version="1.0" + ADD drone-ssh /bin/ ENTRYPOINT ["/bin/drone-ssh"] diff --git a/Makefile b/Makefile index 020489e..770e062 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ PACKAGES ?= $(shell $(GO) list ./... | grep -v /vendor/) GOFILES := $(shell find . -name "*.go" -type f -not -path "./vendor/*") SOURCES ?= $(shell find . -name "*.go" -type f) TAGS ?= -LDFLAGS ?= -X 'main.Version=$(VERSION)' +LDFLAGS ?= -X 'main.Version=$(VERSION)' -X 'main.build=$(NUMBER)' TMPDIR := $(shell mktemp -d 2>/dev/null || mktemp -d -t 'tempdir') ifneq ($(shell uname), Darwin) @@ -25,6 +25,10 @@ endif ifneq ($(DRONE_TAG),) VERSION ?= $(DRONE_TAG) +endif + +ifneq ($(DRONE_BUILD_NUMBER),) + NUMBER ?= $(DRONE_BUILD_NUMBER) else VERSION ?= $(shell git describe --tags --always || git rev-parse --short HEAD) endif @@ -84,12 +88,12 @@ html: $(GO) tool cover -html=coverage.txt install: $(SOURCES) - $(GO) install -v -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' + $(GO) install -v -tags '$(TAGS)' -ldflags "$(EXTLDFLAGS)-s -w $(LDFLAGS)" build: $(EXECUTABLE) $(EXECUTABLE): $(SOURCES) - $(GO) build -v -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' -o $@ + $(GO) build -v -tags '$(TAGS)' -ldflags "$(EXTLDFLAGS)-s -w $(LDFLAGS)" -o $@ release: release-dirs release-build release-copy release-check @@ -110,7 +114,7 @@ release-check: # for docker. docker_build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(GO) build -a -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' -o $(DEPLOY_IMAGE) + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(GO) build -a -tags '$(TAGS)' -ldflags "$(EXTLDFLAGS)-s -w $(LDFLAGS)" -o $(DEPLOY_IMAGE) docker_image: docker build -t $(DEPLOY_ACCOUNT)/$(DEPLOY_IMAGE) . diff --git a/main.go b/main.go index c31aefe..f80220b 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "os" "github.com/appleboy/easyssh-proxy" @@ -9,10 +10,17 @@ import ( "github.com/urfave/cli" ) +// build number set at compile-time +var build = "0" + // Version set at compile-time -var Version = "v1.1.0-dev" +var Version string func main() { + if Version == "" { + Version = fmt.Sprintf("1.3.1+%s", build) + } + app := cli.NewApp() app.Name = "Drone SSH" app.Usage = "Executing remote ssh commands"