blob: c9755915740e56d2b85677bf713dd598fe79c9f2 [file] [log] [blame]
# -------------
# Build stage
FROM golang:1.10.7-alpine AS build-env
# Install required packages
RUN apk add --no-cache wget git make build-base protobuf protobuf-dev
# Install protobuf requirements
RUN git clone /usr/local/include/googleapis
RUN go get
# Prepare directory structure
RUN ["mkdir", "-p", "/src", "src/protos"]
RUN ["mkdir", "-p", "$GOPATH/src", "$GOPATH/pkg", "$GOPATH/bin"]
RUN ["mkdir", "-p", "$GOPATH/src/"]
RUN ["mkdir", "-p", "$GOPATH/src/"]
RUN git clone
# Copy files
ADD adaptercore ./adapters/openolt/adaptercore
ADD config ./adapters/openolt/config
ADD *.go ./adapters/openolt
RUN ls ./adapters/openolt
# Copy required proto files
ADD openolt.proto ./protos
# Install the protoc-gen-go
RUN go install ./vendor/
# Compile protobuf files
RUN sh protos/scripts/ protos
RUN protoc --go_out=Mgoogle/protobuf/,plugins=grpc:$GOPATH/src -I protos -I /usr/local/include/googleapis protos/openolt.proto
# Build openolt
RUN cd adapters/openolt && go build -o /src/openolt
# -------------
# Image creation stage
FROM alpine:3.8
# Set the working directory
# Copy required files
COPY --from=build-env /src/openolt /app/