2
2
# Stages
3
3
# -----------------------------------------------------------------------------
4
4
5
- # ARG IMAGE_GO_BUILDER=golang:1.20.5@sha256:6b3fa4b908676231b50acbbc00e84d8cee9c6ce072b1175c0ff352c57d8a612f - Bad
6
- ARG IMAGE_GO_BUILDER=golang:1.20.4@sha256:690e4135bf2a4571a572bfd5ddfa806b1cb9c3dea0446ebadaf32bc2ea09d4f9
5
+ ARG IMAGE_SENZINGAPI_RUNTIME=senzing/senzingapi-runtime:3.6.0
6
+ ARG IMAGE_GO_BUILDER=golang:1.20.4
7
7
ARG IMAGE_FINAL=senzing/senzingapi-runtime:3.6.0
8
8
9
+ # -----------------------------------------------------------------------------
10
+ # Stage: senzingapi_runtime
11
+ # -----------------------------------------------------------------------------
12
+
13
+ FROM ${IMAGE_SENZINGAPI_RUNTIME} as senzingapi_runtime
14
+
9
15
# -----------------------------------------------------------------------------
10
16
# Stage: go_builder
11
17
# -----------------------------------------------------------------------------
12
18
13
19
FROM ${IMAGE_GO_BUILDER} as go_builder
14
- ENV REFRESHED_AT=2023-07-17
20
+ ENV REFRESHED_AT=2023-08-01
15
21
LABEL Name="senzing/serve-grpc-builder" \
16
22
17
23
Version="0.4.9"
@@ -23,52 +29,49 @@ ARG BUILD_VERSION=0.0.0
23
29
ARG BUILD_ITERATION=0
24
30
ARG GO_PACKAGE_NAME="unknown"
25
31
26
- # Copy remote files from DockerHub.
27
-
28
- COPY --from=senzing/senzingapi-runtime:3.6.0 "/opt/senzing/g2/lib/" "/opt/senzing/g2/lib/"
29
- COPY --from=senzing/senzingapi-runtime:3.6.0 "/opt/senzing/g2/sdk/c/" "/opt/senzing/g2/sdk/c/"
30
-
31
32
# Copy local files from the Git repository.
32
33
34
+ COPY ./rootfs /
33
35
COPY . ${GOPATH}/src/${GO_PACKAGE_NAME}
34
36
35
- # Build go program .
37
+ # Copy files from prior stage .
36
38
37
- WORKDIR ${GOPATH}/src/${GO_PACKAGE_NAME}
38
- RUN make build
39
+ COPY --from=senzingapi_runtime "/opt/senzing/g2/lib/" "/opt/senzing/g2/lib/"
40
+ COPY --from=senzingapi_runtime "/opt/senzing/g2/sdk/c/" "/opt/senzing/g2/sdk/c/"
39
41
40
- # --- Test go program ---------------------------------------------------------
42
+ # Set path to Senzing libs.
43
+
44
+ ENV LD_LIBRARY_PATH=/opt/senzing/g2/lib/
41
45
42
- # Run unit tests .
46
+ # Build go program .
43
47
44
- # RUN go get github.com/jstemmer/go-junit-report \
45
- # && mkdir -p /output/go-junit-report \
46
- # && go test -v ${GO_PACKAGE_NAME}/... | go-junit-report > /output/go-junit-report/test-report.xml
48
+ WORKDIR ${GOPATH}/src/${GO_PACKAGE_NAME}
49
+ RUN make build
47
50
48
51
# Copy binaries to /output.
49
52
50
53
RUN mkdir -p /output \
51
- && cp -R ${GOPATH}/src/${GO_PACKAGE_NAME}/target/* /output/
54
+ && cp -R ${GOPATH}/src/${GO_PACKAGE_NAME}/target/* /output/
52
55
53
56
# -----------------------------------------------------------------------------
54
57
# Stage: final
55
58
# -----------------------------------------------------------------------------
56
59
57
60
FROM ${IMAGE_FINAL} as final
58
- ENV REFRESHED_AT=2023-07-17
61
+ ENV REFRESHED_AT=2023-08-01
59
62
LABEL Name="senzing/serve-grpc" \
60
63
61
64
Version="0.4.9"
62
65
63
- # Copy files from repository.
66
+ # Copy local files from the Git repository.
64
67
65
68
COPY ./rootfs /
66
69
COPY ./testdata/senzing-license/g2.lic /etc/opt/senzing/g2.lic
67
70
COPY ./testdata/sqlite/G2C.db /tmp/sqlite/G2C.db
68
71
69
- # Copy files from prior step .
72
+ # Copy files from prior stage .
70
73
71
- COPY --from=go_builder "/output/linux/serve-grpc" "/app/serve-grpc"
74
+ COPY --from=go_builder "/output/linux-amd64 /serve-grpc" "/app/serve-grpc"
72
75
73
76
# Runtime environment variables.
74
77
0 commit comments