Skip to content

Commit 8067da3

Browse files
committed
style: adaptive Go image version
1 parent e2a6638 commit 8067da3

10 files changed

Lines changed: 41 additions & 20 deletions

File tree

cmd/sponge/commands/generate/common.go

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ import (
2727
)
2828

2929
const (
30-
defaultGoModVersion = "go 1.23.0"
30+
defaultGoModVersion = "go 1.23.0"
31+
defaultImageGoModVersion = "golang:1.23-alpine"
3132

3233
// TplNameSponge name of the template
3334
TplNameSponge = "sponge"
@@ -853,6 +854,16 @@ func getLocalGoVersion() string {
853854
return versionList[0].goVersion
854855
}
855856

857+
func extractImageGoVersion() string {
858+
goVersion := getLocalGoVersion()
859+
re := regexp.MustCompile(`go\s+(\d+\.\d+)\.\d+`)
860+
matches := re.FindStringSubmatch(goVersion)
861+
if len(matches) > 1 {
862+
return fmt.Sprintf("golang:%s-alpine", matches[1])
863+
}
864+
return defaultImageGoModVersion
865+
}
866+
856867
func dbDriverErr(driver string) error {
857868
return errors.New("unsupported db driver: " + driver)
858869
}
@@ -892,6 +903,10 @@ func GetGoModFields(moduleName string) []replacer.Field {
892903
Old: defaultGoModVersion,
893904
New: getLocalGoVersion(),
894905
},
906+
{
907+
Old: defaultImageGoModVersion,
908+
New: extractImageGoVersion(),
909+
},
895910
{
896911
Old: spongeTemplateVersionMark,
897912
New: getLocalSpongeTemplateVersion(),

cmd/sponge/commands/generate/grpc-http-pb.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,10 @@ func (g *httpAndGRPCPbGenerator) addFields(r replacer.Replacer) []replacer.Field
302302
Old: defaultGoModVersion,
303303
New: getLocalGoVersion(),
304304
},
305+
{
306+
Old: defaultImageGoModVersion,
307+
New: extractImageGoVersion(),
308+
},
305309
{
306310
Old: "serverNameExample",
307311
New: g.serverName,

cmd/sponge/commands/generate/http-pb.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,10 @@ func (g *httpPbGenerator) addFields(r replacer.Replacer) []replacer.Field {
276276
Old: defaultGoModVersion,
277277
New: getLocalGoVersion(),
278278
},
279+
{
280+
Old: defaultImageGoModVersion,
281+
New: extractImageGoVersion(),
282+
},
279283
{
280284
Old: "serverNameExample",
281285
New: g.serverName,

cmd/sponge/commands/generate/http.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,10 @@ func (g *httpGenerator) addFields(r replacer.Replacer) []replacer.Field {
449449
Old: defaultGoModVersion,
450450
New: getLocalGoVersion(),
451451
},
452+
{
453+
Old: defaultImageGoModVersion,
454+
New: extractImageGoVersion(),
455+
},
452456
{
453457
Old: "userExampleNO = 1",
454458
New: fmt.Sprintf("userExampleNO = %d", rand.Intn(99)+1),

cmd/sponge/commands/generate/rpc-gw-pb.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,10 @@ func (g *rpcGwPbGenerator) addFields(r replacer.Replacer) []replacer.Field {
276276
Old: defaultGoModVersion,
277277
New: getLocalGoVersion(),
278278
},
279+
{
280+
Old: defaultImageGoModVersion,
281+
New: extractImageGoVersion(),
282+
},
279283
{
280284
Old: "serverNameExample",
281285
New: g.serverName,

cmd/sponge/commands/generate/rpc-pb.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,10 @@ func (g *rpcPbGenerator) addFields(r replacer.Replacer) []replacer.Field {
270270
Old: defaultGoModVersion,
271271
New: getLocalGoVersion(),
272272
},
273+
{
274+
Old: defaultImageGoModVersion,
275+
New: extractImageGoVersion(),
276+
},
273277
{
274278
Old: "serverNameExample",
275279
New: g.serverName,

cmd/sponge/commands/generate/rpc.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,10 @@ func (g *rpcGenerator) addFields(r replacer.Replacer) []replacer.Field {
468468
Old: defaultGoModVersion,
469469
New: getLocalGoVersion(),
470470
},
471+
{
472+
Old: defaultImageGoModVersion,
473+
New: extractImageGoVersion(),
474+
},
471475
{
472476
Old: "_userExampleNO = 2",
473477
New: fmt.Sprintf("_userExampleNO = %d", rand.Intn(99)+1),

cmd/sponge/commands/generate/template.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,6 @@ EXPOSE 8282 8283`
3131
FROM alpine:latest
3232
MAINTAINER zhufuyi "g.zhufuyi@gmail.com"
3333
34-
# set the time zone to Shanghai
35-
RUN apk add tzdata \
36-
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
37-
&& echo "Asia/Shanghai" > /etc/timezone \
38-
&& apk del tzdata
39-
4034
# add curl, used for http service checking, can be installed without it if deployed in k8s
4135
RUN apk add curl
4236
@@ -62,12 +56,6 @@ RUN cd $GOPATH/pkg/mod/github.com/grpc-ecosystem/grpc-health-probe@v0.4.12 \
6256
FROM alpine:latest
6357
MAINTAINER zhufuyi "g.zhufuyi@gmail.com"
6458
65-
# set the time zone to Shanghai
66-
RUN apk add tzdata \
67-
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
68-
&& echo "Asia/Shanghai" > /etc/timezone \
69-
&& apk del tzdata
70-
7159
# add grpc_health_probe for health check of grpc services
7260
COPY --from=build /grpc_health_probe /bin/grpc_health_probe
7361
COPY --from=build /serverNameExample /app/serverNameExample

cmd/sponge/scripts/Dockerfile

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,6 @@ MAINTAINER zhufuyi "g.zhufuyi@gmail.com"
33

44
USER root
55

6-
# set the time zone to Shanghai
7-
#RUN apk add tzdata \
8-
# && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
9-
# && echo "Asia/Shanghai" > /etc/timezone \
10-
# && apk del tzdata
11-
126
COPY .sponge /root/.sponge
137
COPY sponge /usr/local/bin/sponge
148
RUN chmod +x /usr/local/bin/sponge

cmd/sponge/scripts/build-sponge-image.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,5 @@ rm -rf .sponge
5252
# delete none image
5353
noneImages=$(docker images | grep "<none>" | awk '{print $3}')
5454
if [ "X${noneImages}" != "X" ]; then
55-
docker rmi ${noneImages} > /dev/null
55+
docker rmi ${noneImages} > /dev/null 2>&1 || true
5656
fi

0 commit comments

Comments
 (0)