do everything dockerfile added
This commit is contained in:
64
Dockerfile
Normal file
64
Dockerfile
Normal file
@ -0,0 +1,64 @@
|
||||
# stage 1 generator - implementation code
|
||||
FROM python:3.10.0-bullseye AS stage1-builder
|
||||
|
||||
RUN mkdir /tmp/work && chown 1000 /tmp/work
|
||||
|
||||
COPY openapi.yaml /tmp/work
|
||||
COPY generateAll.sh /tmp/work
|
||||
COPY ENV /tmp/work
|
||||
COPY regular.cs.tmpl /tmp/work
|
||||
COPY generate.py /tmp/work
|
||||
COPY generateHelper.py /tmp/work
|
||||
|
||||
RUN \
|
||||
pip install Cheetah3 && \
|
||||
pip install PyYAML
|
||||
|
||||
USER 1000
|
||||
|
||||
RUN \
|
||||
cd /tmp/work && \
|
||||
./generateAll.sh -r1
|
||||
|
||||
|
||||
# stage 2 generator - openapi server stubs code and integration
|
||||
# with implementation and database code
|
||||
FROM openapitools/openapi-generator-cli:v5.3.0 AS stage2-builder
|
||||
|
||||
RUN mkdir /tmp/work && chown 1000 /tmp/work
|
||||
|
||||
USER 1000
|
||||
|
||||
COPY openapi.yaml /tmp/work
|
||||
COPY generateAll.sh /tmp/work
|
||||
COPY ENV /tmp/work
|
||||
COPY DbService.cs /tmp/work
|
||||
COPY --from=stage1-builder /tmp/work/regular.cs /tmp/work
|
||||
RUN cd /tmp/work && ./generateAll.sh -k2c
|
||||
|
||||
|
||||
# final container
|
||||
FROM wollud1969/dotnetcore5sdk:1.0.0
|
||||
|
||||
ENV Database__Password "xxx"
|
||||
|
||||
RUN \
|
||||
useradd -d /opt/service -m service && \
|
||||
mkdir /opt/service/output && chown service:service /opt/service/output
|
||||
|
||||
USER service
|
||||
WORKDIR /opt/service
|
||||
|
||||
COPY generateAll.sh .
|
||||
COPY ENV .
|
||||
COPY --from=stage2-builder /tmp/work/output/ ./output
|
||||
RUN ./generateAll.sh -kb
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
CMD [ "./generateAll.sh", "-kx" ]
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user