dev cicd + tron + docs
This commit is contained in:
52
ci/dev/bff.dockerfile
Normal file
52
ci/dev/bff.dockerfile
Normal file
@@ -0,0 +1,52 @@
|
||||
# Development Dockerfile for BFF (Server) Service with Air hot reload
|
||||
|
||||
FROM golang:alpine AS builder
|
||||
|
||||
RUN apk add --no-cache bash git build-base protoc protobuf-dev && \
|
||||
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest && \
|
||||
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest && \
|
||||
go install github.com/air-verse/air@latest
|
||||
|
||||
WORKDIR /src
|
||||
|
||||
COPY api/proto ./api/proto
|
||||
COPY api/pkg ./api/pkg
|
||||
COPY ci/scripts/proto/generate.sh ./ci/scripts/proto/
|
||||
RUN bash ci/scripts/proto/generate.sh
|
||||
|
||||
# Copy service dependencies (needed for go.mod replace directives)
|
||||
COPY api/ledger ./api/ledger
|
||||
COPY api/payments/orchestrator ./api/payments/orchestrator
|
||||
COPY api/gateway/chain ./api/gateway/chain
|
||||
COPY api/billing/fees ./api/billing/fees
|
||||
COPY api/fx/oracle ./api/fx/oracle
|
||||
COPY api/fx/storage ./api/fx/storage
|
||||
COPY api/gateway/mntx ./api/gateway/mntx
|
||||
|
||||
# Runtime stage for development with Air
|
||||
FROM golang:alpine
|
||||
|
||||
RUN apk add --no-cache bash git build-base && \
|
||||
go install github.com/air-verse/air@latest
|
||||
|
||||
WORKDIR /src
|
||||
|
||||
# Copy generated proto and pkg from builder
|
||||
COPY --from=builder /src/api/proto ./api/proto
|
||||
COPY --from=builder /src/api/pkg ./api/pkg
|
||||
|
||||
# Copy service dependencies
|
||||
COPY --from=builder /src/api/ledger ./api/ledger
|
||||
COPY --from=builder /src/api/payments/orchestrator ./api/payments/orchestrator
|
||||
COPY --from=builder /src/api/gateway/chain ./api/gateway/chain
|
||||
COPY --from=builder /src/api/billing/fees ./api/billing/fees
|
||||
COPY --from=builder /src/api/fx/oracle ./api/fx/oracle
|
||||
COPY --from=builder /src/api/fx/storage ./api/fx/storage
|
||||
COPY --from=builder /src/api/gateway/mntx ./api/gateway/mntx
|
||||
|
||||
# Source code will be mounted at runtime
|
||||
WORKDIR /src/api/server
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
CMD ["air", "-c", ".air.toml", "--", "-config.file", "/app/config.yml", "-debug"]
|
||||
Reference in New Issue
Block a user