add build number for drone.

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
Bo-Yi Wu 2017-09-04 17:22:52 +08:00
parent 05ebe5b663
commit 6f1ace35bf
3 changed files with 26 additions and 8 deletions

View File

@ -1,10 +1,16 @@
FROM alpine:3.4 FROM alpine:3.4
RUN apk update && \ RUN apk update && \
apk add \ apk add -U --no-cache \
ca-certificates \ ca-certificates \
openssh-client && \ openssh-client && \
rm -rf /var/cache/apk/* 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/ ADD drone-ssh /bin/
ENTRYPOINT ["/bin/drone-ssh"] ENTRYPOINT ["/bin/drone-ssh"]

View File

@ -14,7 +14,7 @@ PACKAGES ?= $(shell $(GO) list ./... | grep -v /vendor/)
GOFILES := $(shell find . -name "*.go" -type f -not -path "./vendor/*") GOFILES := $(shell find . -name "*.go" -type f -not -path "./vendor/*")
SOURCES ?= $(shell find . -name "*.go" -type f) SOURCES ?= $(shell find . -name "*.go" -type f)
TAGS ?= 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') TMPDIR := $(shell mktemp -d 2>/dev/null || mktemp -d -t 'tempdir')
ifneq ($(shell uname), Darwin) ifneq ($(shell uname), Darwin)
@ -25,6 +25,10 @@ endif
ifneq ($(DRONE_TAG),) ifneq ($(DRONE_TAG),)
VERSION ?= $(DRONE_TAG) VERSION ?= $(DRONE_TAG)
endif
ifneq ($(DRONE_BUILD_NUMBER),)
NUMBER ?= $(DRONE_BUILD_NUMBER)
else else
VERSION ?= $(shell git describe --tags --always || git rev-parse --short HEAD) VERSION ?= $(shell git describe --tags --always || git rev-parse --short HEAD)
endif endif
@ -84,12 +88,12 @@ html:
$(GO) tool cover -html=coverage.txt $(GO) tool cover -html=coverage.txt
install: $(SOURCES) install: $(SOURCES)
$(GO) install -v -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' $(GO) install -v -tags '$(TAGS)' -ldflags "$(EXTLDFLAGS)-s -w $(LDFLAGS)"
build: $(EXECUTABLE) build: $(EXECUTABLE)
$(EXECUTABLE): $(SOURCES) $(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 release: release-dirs release-build release-copy release-check
@ -110,7 +114,7 @@ release-check:
# for docker. # for docker.
docker_build: 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_image:
docker build -t $(DEPLOY_ACCOUNT)/$(DEPLOY_IMAGE) . docker build -t $(DEPLOY_ACCOUNT)/$(DEPLOY_IMAGE) .

10
main.go
View File

@ -1,6 +1,7 @@
package main package main
import ( import (
"fmt"
"os" "os"
"github.com/appleboy/easyssh-proxy" "github.com/appleboy/easyssh-proxy"
@ -9,10 +10,17 @@ import (
"github.com/urfave/cli" "github.com/urfave/cli"
) )
// build number set at compile-time
var build = "0"
// Version set at compile-time // Version set at compile-time
var Version = "v1.1.0-dev" var Version string
func main() { func main() {
if Version == "" {
Version = fmt.Sprintf("1.3.1+%s", build)
}
app := cli.NewApp() app := cli.NewApp()
app.Name = "Drone SSH" app.Name = "Drone SSH"
app.Usage = "Executing remote ssh commands" app.Usage = "Executing remote ssh commands"