hack: embed git revison into binaries
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>docker-18.09
parent
05534046d3
commit
f350cbeb53
|
@ -1,2 +1,2 @@
|
|||
bin
|
||||
.buildstate
|
||||
.tmp
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
bin
|
||||
.buildstate
|
||||
.tmp
|
||||
|
|
|
@ -8,12 +8,16 @@ import (
|
|||
"github.com/moby/buildkit/client"
|
||||
"github.com/moby/buildkit/util/appdefaults"
|
||||
"github.com/moby/buildkit/util/profiler"
|
||||
"github.com/moby/buildkit/version"
|
||||
opentracing "github.com/opentracing/opentracing-go"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/urfave/cli"
|
||||
)
|
||||
|
||||
func main() {
|
||||
cli.VersionPrinter = func(c *cli.Context) {
|
||||
fmt.Println(c.App.Name, version.Package, c.App.Version, version.Revision)
|
||||
}
|
||||
app := cli.NewApp()
|
||||
app.Name = "buildctl"
|
||||
app.Usage = "build utility"
|
||||
|
|
|
@ -27,6 +27,7 @@ import (
|
|||
"github.com/moby/buildkit/util/appcontext"
|
||||
"github.com/moby/buildkit/util/appdefaults"
|
||||
"github.com/moby/buildkit/util/profiler"
|
||||
"github.com/moby/buildkit/version"
|
||||
"github.com/moby/buildkit/worker"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
@ -62,6 +63,9 @@ func registerWorkerInitializer(wi workerInitializer, flags ...cli.Flag) {
|
|||
}
|
||||
|
||||
func main() {
|
||||
cli.VersionPrinter = func(c *cli.Context) {
|
||||
fmt.Println(c.App.Name, version.Package, c.App.Version, version.Revision)
|
||||
}
|
||||
app := cli.NewApp()
|
||||
app.Name = "buildkitd"
|
||||
app.Usage = "build daemon"
|
||||
|
|
|
@ -16,15 +16,18 @@ RUN apk add --no-cache git libseccomp-dev make
|
|||
FROM gobuild-base AS buildkit-base
|
||||
WORKDIR /go/src/github.com/moby/buildkit
|
||||
COPY . .
|
||||
RUN mkdir .tmp; \
|
||||
PKG=github.com/moby/buildkit VERSION=$(git describe --match 'v[0-9]*' --dirty='.m' --always) REVISION=$(git rev-parse HEAD)$(if ! git diff --no-ext-diff --quiet --exit-code; then echo .m; fi); \
|
||||
echo "-X ${PKG}/version.Version=${VERSION} -X ${PKG}/version.Revision=${REVISION} -X ${PKG}/version.Package=${PKG}" | tee .tmp/ldflags
|
||||
|
||||
FROM buildkit-base AS buildctl
|
||||
ENV CGO_ENABLED=0
|
||||
ARG GOOS=linux
|
||||
RUN go build -ldflags '-d' -o /usr/bin/buildctl ./cmd/buildctl
|
||||
RUN go build -ldflags "$(cat .tmp/ldflags) -d" -o /usr/bin/buildctl ./cmd/buildctl
|
||||
|
||||
FROM buildkit-base AS buildkitd
|
||||
ENV CGO_ENABLED=1
|
||||
RUN go build -installsuffix netgo -ldflags '-w -extldflags -static' -tags 'seccomp netgo cgo static_build' -o /usr/bin/buildkitd ./cmd/buildkitd
|
||||
RUN go build -installsuffix netgo -ldflags "$(cat .tmp/ldflags) -w -extldflags -static" -tags 'seccomp netgo cgo static_build' -o /usr/bin/buildkitd ./cmd/buildkitd
|
||||
|
||||
# test dependencies begin here
|
||||
FROM gobuild-base AS runc
|
||||
|
@ -61,11 +64,11 @@ COPY --from=containerd /go/src/github.com/containerd/containerd/bin/containerd*
|
|||
|
||||
FROM buildkit-base AS buildkitd.oci_only
|
||||
ENV CGO_ENABLED=1
|
||||
RUN go build -installsuffix netgo -ldflags '-w -extldflags -static' -tags 'no_containerd_worker seccomp netgo cgo static_build' -o /usr/bin/buildkitd.oci_only ./cmd/buildkitd
|
||||
RUN go build -installsuffix netgo -ldflags "$(cat .tmp/ldflags) -w -extldflags -static" -tags 'no_containerd_worker seccomp netgo cgo static_build' -o /usr/bin/buildkitd.oci_only ./cmd/buildkitd
|
||||
|
||||
FROM buildkit-base AS buildkitd.containerd_only
|
||||
ENV CGO_ENABLED=0
|
||||
RUN go build -ldflags '-d' -o /usr/bin/buildkitd.containerd_only -tags no_oci_worker ./cmd/buildkitd
|
||||
RUN go build -ldflags "$(cat .tmp/ldflags) -d" -o /usr/bin/buildkitd.containerd_only -tags no_oci_worker ./cmd/buildkitd
|
||||
|
||||
FROM registry:$REGISTRY_VERSION AS registry
|
||||
|
||||
|
@ -81,11 +84,11 @@ WORKDIR /go/src/github.com/moby/buildkit
|
|||
COPY . .
|
||||
|
||||
FROM cross-windows AS buildctl.exe
|
||||
RUN go build -o /buildctl.exe ./cmd/buildctl
|
||||
RUN go build -ldflags "$(cat .tmp/ldflags)" -o /buildctl.exe ./cmd/buildctl
|
||||
|
||||
FROM cross-windows AS buildkitd.exe
|
||||
ENV CGO_ENABLED=0
|
||||
RUN go build -o /buildkitd.exe ./cmd/buildkitd
|
||||
RUN go build -ldflags "$(cat .tmp/ldflags)" -o /buildkitd.exe ./cmd/buildkitd
|
||||
|
||||
FROM alpine AS buildkit-export
|
||||
RUN apk add --no-cache git
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
Copyright The BuildKit Authors.
|
||||
Copyright The containerd Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package version
|
||||
|
||||
var (
|
||||
// Package is filled at linking time
|
||||
Package = "github.com/moby/buildkit"
|
||||
|
||||
// Version holds the complete version number. Filled in at linking time.
|
||||
Version = "0.0.0+unknown"
|
||||
|
||||
// Revision is filled with the VCS (e.g. git) revision being used to build
|
||||
// the program at linking time.
|
||||
Revision = ""
|
||||
)
|
Loading…
Reference in New Issue