2019-08-30 12:43:37 +00:00
|
|
|
ARG AGOLAWEB_IMAGE="agola-web"
|
|
|
|
|
|
|
|
FROM $AGOLAWEB_IMAGE as agola-web
|
|
|
|
|
2019-02-21 15:10:30 +00:00
|
|
|
#######
|
|
|
|
####### Build the backend
|
|
|
|
#######
|
|
|
|
|
2019-05-09 10:36:30 +00:00
|
|
|
# base build image
|
2021-03-15 08:35:40 +00:00
|
|
|
FROM golang:1.16-buster AS build_base
|
2019-02-21 15:10:30 +00:00
|
|
|
|
|
|
|
WORKDIR /agola
|
|
|
|
|
|
|
|
# use go modules
|
|
|
|
ENV GO111MODULE=on
|
|
|
|
|
2019-05-09 10:36:30 +00:00
|
|
|
# only copy go.mod and go.sum
|
2019-02-21 15:10:30 +00:00
|
|
|
COPY go.mod .
|
|
|
|
COPY go.sum .
|
|
|
|
|
|
|
|
RUN go mod download
|
|
|
|
|
2019-08-30 12:43:37 +00:00
|
|
|
|
2019-08-05 07:15:21 +00:00
|
|
|
# builds the agola binaries
|
2019-02-21 15:10:30 +00:00
|
|
|
FROM build_base AS server_builder
|
|
|
|
|
2019-08-05 07:15:21 +00:00
|
|
|
# copy all the sources
|
2019-02-21 15:10:30 +00:00
|
|
|
COPY . .
|
|
|
|
|
2019-05-09 10:36:30 +00:00
|
|
|
# copy the agola-web dist
|
2019-02-21 15:10:30 +00:00
|
|
|
COPY --from=agola-web /agola-web/dist/ /agola-web/dist/
|
|
|
|
|
|
|
|
RUN make WEBBUNDLE=1 WEBDISTPATH=/agola-web/dist
|
|
|
|
|
|
|
|
|
|
|
|
#######
|
|
|
|
####### Build the final image
|
|
|
|
#######
|
2019-08-05 07:15:21 +00:00
|
|
|
FROM debian:buster AS agola
|
2019-02-21 15:10:30 +00:00
|
|
|
|
2019-04-03 06:52:00 +00:00
|
|
|
WORKDIR /
|
2019-02-21 15:10:30 +00:00
|
|
|
|
2019-05-22 10:49:34 +00:00
|
|
|
# Install git needed by gitserver
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
|
|
ca-certificates \
|
|
|
|
git \
|
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
2019-05-09 10:36:30 +00:00
|
|
|
# copy to agola binaries
|
2019-06-13 13:30:19 +00:00
|
|
|
COPY --from=server_builder /agola/bin/agola /agola/bin/agola-toolbox-* /bin/
|
2019-05-08 13:40:11 +00:00
|
|
|
|
|
|
|
ENTRYPOINT ["/bin/agola"]
|
|
|
|
|
|
|
|
|
|
|
|
#######
|
|
|
|
####### Build the demo image
|
|
|
|
#######
|
|
|
|
|
|
|
|
FROM agola as agolademo
|
|
|
|
|
|
|
|
WORKDIR /
|
|
|
|
|
2019-05-09 10:36:30 +00:00
|
|
|
# copy the example config
|
2019-05-08 15:40:07 +00:00
|
|
|
COPY examples/agolademo/config.yml .
|
2019-04-03 06:52:00 +00:00
|
|
|
|
|
|
|
ENTRYPOINT ["/bin/agola"]
|