mirror of
https://github.com/scroll-tech/scroll.git
synced 2026-01-09 14:08:03 -05:00
build: update Dockerfile to use go compilation cache (#104)
This commit is contained in:
@@ -25,7 +25,7 @@ clean: ## Empty out the bin folder
|
||||
@rm -rf build/bin
|
||||
|
||||
docker:
|
||||
docker build -t scrolltech/${IMAGE_NAME}:${IMAGE_VERSION} ${REPO_ROOT_DIR}/ -f ${REPO_ROOT_DIR}/build/dockerfiles/bridge.Dockerfile
|
||||
DOCKER_BUILDKIT=1 docker build -t scrolltech/${IMAGE_NAME}:${IMAGE_VERSION} ${REPO_ROOT_DIR}/ -f ${REPO_ROOT_DIR}/build/dockerfiles/bridge.Dockerfile
|
||||
|
||||
docker_push:
|
||||
docker push scrolltech/${IMAGE_NAME}:${IMAGE_VERSION}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Download Go dependencies
|
||||
FROM scrolltech/go-builder:1.18 as base
|
||||
|
||||
WORKDIR /src
|
||||
COPY go.work* ./
|
||||
COPY ./bridge/go.* ./bridge/
|
||||
COPY ./common/go.* ./common/
|
||||
@@ -12,12 +13,13 @@ RUN go mod download -x
|
||||
# Build bridge
|
||||
FROM base as builder
|
||||
|
||||
COPY ./ /
|
||||
RUN cd /bridge/cmd && go build -v -p 4 -o bridge
|
||||
RUN --mount=target=. \
|
||||
--mount=type=cache,target=/root/.cache/go-build \
|
||||
cd /src/bridge/cmd && go build -v -p 4 -o /bin/bridge
|
||||
|
||||
# Pull bridge into a second stage deploy alpine container
|
||||
FROM alpine:latest
|
||||
|
||||
COPY --from=builder /bridge/cmd/bridge /bin/
|
||||
COPY --from=builder /bin/bridge /bin/
|
||||
|
||||
ENTRYPOINT ["bridge"]
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
assets/
|
||||
coordinator/
|
||||
docs/
|
||||
integration-test/
|
||||
l2geth/
|
||||
roller/
|
||||
rpc-gateway/
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Download Go dependencies
|
||||
FROM scrolltech/go-builder:1.18 as base
|
||||
|
||||
WORKDIR /src
|
||||
COPY go.work* ./
|
||||
COPY ./bridge/go.* ./bridge/
|
||||
COPY ./common/go.* ./common/
|
||||
@@ -12,12 +13,14 @@ RUN go mod download -x
|
||||
# Build coordinator
|
||||
FROM base as builder
|
||||
|
||||
COPY ./ /
|
||||
RUN cd /coordinator/cmd && go build -v -p 4 -o coordinator
|
||||
RUN --mount=target=. \
|
||||
--mount=type=cache,target=/root/.cache/go-build \
|
||||
cd /src/coordinator/cmd && go build -v -p 4 -o /bin/coordinator
|
||||
|
||||
# Pull coordinator into a second stage deploy alpine container
|
||||
FROM alpine:latest
|
||||
|
||||
COPY --from=builder /coordinator/cmd/coordinator /bin/
|
||||
COPY --from=builder /bin/coordinator /bin/
|
||||
|
||||
ENTRYPOINT ["coordinator"]
|
||||
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
assets/
|
||||
bridge/
|
||||
contracts/
|
||||
docs/
|
||||
integration-test/
|
||||
l2geth/
|
||||
roller/
|
||||
rpc-gateway/
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Download Go dependencies
|
||||
FROM scrolltech/go-builder:1.18 as base
|
||||
|
||||
WORKDIR /src
|
||||
COPY go.work* ./
|
||||
COPY ./bridge/go.* ./bridge/
|
||||
COPY ./common/go.* ./common/
|
||||
@@ -12,12 +13,13 @@ RUN go mod download -x
|
||||
# Build db_cli
|
||||
FROM base as builder
|
||||
|
||||
COPY ./ /
|
||||
RUN cd /database/cmd && go build -v -p 4 -o db_cli
|
||||
RUN --mount=target=. \
|
||||
--mount=type=cache,target=/root/.cache/go-build \
|
||||
cd /src/database/cmd && go build -v -p 4 -o /bin/db_cli
|
||||
|
||||
# Pull db_cli into a second stage deploy alpine container
|
||||
FROM alpine:latest
|
||||
|
||||
COPY --from=builder /database/cmd/db_cli /bin/
|
||||
COPY --from=builder /bin/db_cli /bin/
|
||||
|
||||
ENTRYPOINT ["db_cli"]
|
||||
|
||||
@@ -17,7 +17,7 @@ clean: ## Empty out the bin folder
|
||||
@rm -rf build/bin
|
||||
|
||||
docker:
|
||||
docker build -t scrolltech/${IMAGE_NAME}:${IMAGE_VERSION} ${REPO_ROOT_DIR}/ -f ${REPO_ROOT_DIR}/build/dockerfiles/coordinator.Dockerfile
|
||||
DOCKER_BUILDKIT=1 docker build -t scrolltech/${IMAGE_NAME}:${IMAGE_VERSION} ${REPO_ROOT_DIR}/ -f ${REPO_ROOT_DIR}/build/dockerfiles/coordinator.Dockerfile
|
||||
|
||||
docker_push:
|
||||
docker push scrolltech/${IMAGE_NAME}:${IMAGE_VERSION}
|
||||
|
||||
@@ -14,7 +14,7 @@ lint: ## Lint the files - used for CI
|
||||
GOBIN=$(PWD)/build/bin go run ../build/lint.go
|
||||
|
||||
docker:
|
||||
docker build -t scrolltech/${IMAGE_NAME}:${IMAGE_VERSION} ${REPO_ROOT_DIR}/ -f ${REPO_ROOT_DIR}/build/dockerfiles/${IMAGE_NAME}.Dockerfile
|
||||
DOCKER_BUILDKIT=1 docker build -t scrolltech/${IMAGE_NAME}:${IMAGE_VERSION} ${REPO_ROOT_DIR}/ -f ${REPO_ROOT_DIR}/build/dockerfiles/${IMAGE_NAME}.Dockerfile
|
||||
|
||||
docker_push:
|
||||
docker push scrolltech/${IMAGE_NAME}:${IMAGE_VERSION}
|
||||
|
||||
Reference in New Issue
Block a user