Skip to content

Commit 293bd51

Browse files
Correct Makefile docker targets (#217)
1 parent 6b2fb73 commit 293bd51

File tree

4 files changed

+51
-34
lines changed

4 files changed

+51
-34
lines changed

.goreleaser.yml

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
---
1+
version: 2
22
project_name: nack
3+
env:
4+
- VERSION={{ if index .Env "VERSION" }}{{ .Env.VERSION }}{{ else }}{{ .Version }}{{ end }}
35

46
release:
57
name_template: 'Release {{.Tag}}'
@@ -14,7 +16,7 @@ builds:
1416
main: ./cmd/jetstream-controller
1517
binary: jetstream-controller
1618
ldflags:
17-
- -s -w -X main.Version={{.Version}} -X main.GitInfo={{.ShortCommit}} -X main.BuildTime={{.Date}}
19+
- -s -w -X main.Version={{ .Env.VERSION }} -X main.GitInfo={{.ShortCommit}} -X main.BuildTime={{.Date}}
1820
tags:
1921
- timetzdata
2022
env:
@@ -33,7 +35,7 @@ builds:
3335
main: ./cmd/nats-boot-config
3436
binary: nats-boot-config
3537
ldflags:
36-
- -s -w -X main.Version={{.Version}} -X main.GitInfo={{.ShortCommit}} -X main.BuildTime={{.Date}}
38+
- -s -w -X main.Version={{ .Env.VERSION }} -X main.GitInfo={{.ShortCommit}} -X main.BuildTime={{.Date}}
3739
tags:
3840
- timetzdata
3941
env:
@@ -52,7 +54,7 @@ builds:
5254
main: ./cmd/nats-server-config-reloader
5355
binary: nats-server-config-reloader
5456
ldflags:
55-
- -s -w -X main.Version={{.Version}} -X main.GitInfo={{.ShortCommit}} -X main.BuildTime={{.Date}}
57+
- -s -w -X main.Version={{ .Env.VERSION }} -X main.GitInfo={{.ShortCommit}} -X main.BuildTime={{.Date}}
5658
tags:
5759
- timetzdata
5860
env:

Makefile

+33-27
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,11 @@ jetstream-controller.docker: $(jetstreamSrc)
5656
.PHONY: jetstream-controller-docker
5757
jetstream-controller-docker:
5858
ifneq ($(ver),)
59-
docker build --tag $(drepo)/jetstream-controller:$(ver) \
60-
--build-arg VERSION=$(ver) \
61-
--file docker/jetstream-controller/Dockerfile .
59+
REGISTRY="$(drepo)" \
60+
TAGS="$(ver)" \
61+
docker buildx bake --load \
62+
--set goreleaser.args.VERSION=$(ver) \
63+
jetstream-controller
6264
else
6365
# Missing version, try this.
6466
# make jetstream-controller-docker ver=1.2.3
@@ -69,12 +71,12 @@ endif
6971
jetstream-controller-dockerx:
7072
ifneq ($(ver),)
7173
# Ensure 'docker buildx ls' shows correct platforms.
72-
docker buildx build \
73-
--tag $(drepo)/jetstream-controller:$(ver) --tag $(drepo)/jetstream-controller:latest \
74-
--build-arg VERSION=$(ver) \
75-
--platform linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8 \
76-
--file docker/jetstream-controller/Dockerfile \
77-
--push .
74+
REGISTRY="$(drepo)" \
75+
TAGS="$(ver)" \
76+
PUSH=true \
77+
docker buildx bake --push \
78+
--set goreleaser.args.VERSION=$(ver) \
79+
jetstream-controller
7880
else
7981
# Missing version, try this.
8082
# make jetstream-controller-dockerx ver=1.2.3
@@ -95,9 +97,11 @@ nats-server-config-reloader.docker: $(configReloaderSrc)
9597
.PHONY: nats-server-config-reloader-docker
9698
nats-server-config-reloader-docker:
9799
ifneq ($(ver),)
98-
docker build --tag $(drepo)/nats-server-config-reloader:$(ver) \
99-
--build-arg VERSION=$(ver) \
100-
--file docker/nats-server-config-reloader/Dockerfile .
100+
REGISTRY="$(drepo)" \
101+
TAGS="$(ver)" \
102+
docker buildx bake --load \
103+
--set goreleaser.args.VERSION=$(ver) \
104+
nats-server-config-reloader
101105
else
102106
# Missing version, try this.
103107
# make nats-server-config-reloader-docker ver=1.2.3
@@ -108,12 +112,12 @@ endif
108112
nats-server-config-reloader-dockerx:
109113
ifneq ($(ver),)
110114
# Ensure 'docker buildx ls' shows correct platforms.
111-
docker buildx build \
112-
--tag $(drepo)/nats-server-config-reloader:$(ver) --tag $(drepo)/nats-server-config-reloader:latest \
113-
--build-arg VERSION=$(ver) \
114-
--platform linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8 \
115-
--file docker/nats-server-config-reloader/Dockerfile \
116-
--push .
115+
REGISTRY="$(drepo)" \
116+
TAGS="$(ver)" \
117+
PUSH=true \
118+
docker buildx bake --push \
119+
--set goreleaser.args.VERSION=$(ver) \
120+
nats-server-config-reloader
117121
else
118122
# Missing version, try this.
119123
# make nats-server-config-reloader-dockerx ver=1.2.3
@@ -134,9 +138,11 @@ nats-boot-config.docker: $(bootConfigSrc)
134138
.PHONY: nats-boot-config-docker
135139
nats-boot-config-docker:
136140
ifneq ($(ver),)
137-
docker build --tag $(drepo)/nats-boot-config:$(ver) \
138-
--build-arg VERSION=$(ver) \
139-
--file docker/nats-boot-config/Dockerfile .
141+
REGISTRY="$(drepo)" \
142+
TAGS="$(ver)" \
143+
docker buildx bake --load \
144+
--set goreleaser.args.VERSION=$(ver) \
145+
nats-boot-config
140146
else
141147
# Missing version, try this.
142148
# make nats-boot-config-docker ver=1.2.3
@@ -147,12 +153,12 @@ endif
147153
nats-boot-config-dockerx:
148154
ifneq ($(ver),)
149155
# Ensure 'docker buildx ls' shows correct platforms.
150-
docker buildx build \
151-
--tag $(drepo)/nats-boot-config:$(ver) --tag $(drepo)/nats-boot-config:latest \
152-
--build-arg VERSION=$(ver) \
153-
--platform linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8 \
154-
--file docker/nats-boot-config/Dockerfile \
155-
--push .
156+
REGISTRY="$(drepo)" \
157+
TAGS="$(ver)" \
158+
PUSH=true \
159+
docker buildx bake --push \
160+
--set goreleaser.args.VERSION=$(ver) \
161+
nats-boot-config
156162
else
157163
# Missing version, try this.
158164
# make nats-boot-config-dockerx ver=1.2.3

cicd/Dockerfile_goreleaser

+5-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ EOT
1313
FROM build
1414

1515
ARG CI
16+
ARG PUSH
1617
ARG GITHUB_TOKEN
18+
ARG TAGS
19+
ARG VERSION
1720

1821
COPY --from=src . /go/src
1922

@@ -22,7 +25,8 @@ RUN <<EOT
2225
cd /go/src
2326
FLAGS="--clean"
2427
if [ -z ${GITHUB_TOKEN} ]; then
25-
if [ ${CI} != "true" ]; then FLAGS="${FLAGS} --skip-validate --single-target"; fi
28+
if [ ${CI} != "true" ]; then FLAGS="${FLAGS} --skip=validate"; fi
29+
if [ ${PUSH} != "true" ]; then FLAGS="${FLAGS} --single-target"; fi
2630
goreleaser build ${FLAGS}
2731
else
2832
goreleaser release ${FLAGS}

docker-bake.hcl

+7-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ variable CI {
1515
default = false
1616
}
1717

18+
variable PUSH {
19+
default = false
20+
}
21+
1822
###################
1923
### Functions
2024
###################
@@ -26,12 +30,12 @@ function "get_tags" {
2630

2731
function "get_platforms_multiarch" {
2832
params = []
29-
result = CI ? ["linux/amd64", "linux/arm/v6", "linux/arm/v7", "linux/arm64"] : []
33+
result = (CI || PUSH) ? ["linux/amd64", "linux/arm/v6", "linux/arm/v7", "linux/arm64"] : []
3034
}
3135

3236
function "get_output" {
3337
params = []
34-
result = CI ? ["type=registry"] : ["type=docker"]
38+
result = (CI || PUSH) ? ["type=registry"] : ["type=docker"]
3539
}
3640

3741
###################
@@ -56,6 +60,7 @@ target "goreleaser" {
5660
}
5761
args = {
5862
CI = CI
63+
PUSH = PUSH
5964
GITHUB_TOKEN = ""
6065
}
6166
dockerfile = "cicd/Dockerfile_goreleaser"

0 commit comments

Comments
 (0)