FROM golang as builder LABEL maintainer="Valentin KIVACHUK BURDA" ENV DOCKER_ENVIRONMENT=true ENV CGO_ENABLED=0 ENV GOOS=linux ENV GO111MODULE=on EXPOSE 49618 WORKDIR /go/src/oc-catalog ####################################################### RUN go get github.com/beego/bee/v2 # Manually download swagger during build RUN ["/bin/bash", "-c", \ "set -eo pipefail; \ mkdir -p swagger; \ curl -sL https://github.com/beego/swagger/archive/v3.tar.gz | tar xvvvz --overwrite -C swagger --strip-components=1"] COPY go.mod . COPY go.sum . RUN go mod download -x # COPY . . COPY main.go go.mod go.sum ./ COPY controllers controllers COPY models models COPY routers routers COPY selfapi selfapi COPY services services COPY conf conf COPY scripts scripts # RUN go build -a -tags netgo -ldflags '-w -extldflags "-static"' -installsuffix cgo . RUN bee generate docs # COPY . . # FROM golang # WORKDIR /go/src/oc-catalog # COPY --from=builder /go/src/oc-catalog . ENV DOCKER_ENVIRONMENT=true RUN go build . # UglyFix: Generate comments from swagger RUN timeout 10 bee run -runargs test || exit 0 CMD [ "bee", "run", "-gendoc=true" ]