mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
114 lines
3.2 KiB
Docker
114 lines
3.2 KiB
Docker
#########################################################################################################
|
|
# debug build preparation
|
|
#########################################################################################################
|
|
|
|
From conanio/gcc9 as build_debug_preparation
|
|
USER root
|
|
#RUN apt-get update && \
|
|
# apt-get install -y --no-install-recommends gcc g++ && \
|
|
# apt-get autoclean && \
|
|
# apt-get autoremove && \
|
|
# apt-get clean && \
|
|
# rm -rf /var/lib/apt/lists/*
|
|
|
|
ENV DOCKER_WORKDIR="/code"
|
|
|
|
|
|
#VOLUME /root/.conan
|
|
|
|
RUN mkdir -p ${DOCKER_WORKDIR}
|
|
WORKDIR ${DOCKER_WORKDIR}
|
|
|
|
COPY ./dependencies ./dependencies
|
|
COPY ./conanfile.txt ./conanfile.txt
|
|
|
|
RUN cd dependencies/mariadb-connector-c && \
|
|
mkdir build && \
|
|
cd build && \
|
|
cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSL=OFF ..
|
|
|
|
|
|
RUN mkdir build && \
|
|
cd build && \
|
|
conan install .. --build=missing -s build_type=Debug
|
|
|
|
#########################################################################################################
|
|
# debug build proto and grpc
|
|
#########################################################################################################
|
|
From build_debug_preparation as proto_grpc
|
|
|
|
ENV DOCKER_WORKDIR="/code"
|
|
WORKDIR ${DOCKER_WORKDIR}
|
|
|
|
COPY ./CMakeLists.txt .
|
|
RUN cd build && \
|
|
cmake -DCMAKE_BUILD_TYPE=Debug .. && \
|
|
make -j${CPU_COUNT} protoc grpc_cpp_plugin
|
|
|
|
#########################################################################################################
|
|
# parse proto and gettext
|
|
#########################################################################################################
|
|
From proto_grpc as proto_parse
|
|
|
|
ENV DOCKER_WORKDIR="/code"
|
|
WORKDIR ${DOCKER_WORKDIR}
|
|
|
|
RUN mkdir src && \
|
|
cd src && \
|
|
mkdir cpp
|
|
COPY ./src/proto ./src/proto
|
|
COPY ./unix_parse_proto.sh .
|
|
|
|
RUN chmod +x unix_parse_proto.sh && \
|
|
./unix_parse_proto.sh
|
|
|
|
|
|
#########################################################################################################
|
|
# Build debug
|
|
#########################################################################################################
|
|
From proto_parse as build_debug
|
|
|
|
ENV DOCKER_WORKDIR="/code"
|
|
|
|
USER root
|
|
WORKDIR ${DOCKER_WORKDIR}
|
|
|
|
COPY ./src/cpp ./src/cpp
|
|
COPY ./src/LOCALE ./src/LOCALE
|
|
COPY ./compile_pot.sh .
|
|
COPY ./files_to_translate.txt .
|
|
|
|
RUN chmod +x compile_pot.sh && \
|
|
./compile_pot.sh
|
|
|
|
RUN cd build && \
|
|
cmake -DCMAKE_BUILD_TYPE=Debug .. && \
|
|
make -j$(nproc)
|
|
|
|
CMD bash
|
|
|
|
#########################################################################################################
|
|
# run debug
|
|
#########################################################################################################
|
|
FROM ubuntu:latest as login_server_debug
|
|
|
|
WORKDIR "/usr/bin"
|
|
|
|
#RUN apt-get update && \
|
|
# apt-get install -y --no-install-recommends gdb && \
|
|
# apt-get autoclean && \
|
|
# apt-get autoremove && \
|
|
# apt-get clean && \
|
|
# rm -rf /var/lib/apt/lists/*
|
|
|
|
VOLUME /var/log/grd_login
|
|
|
|
COPY --from=build_debug /code/build/bin/Gradido_LoginServer /usr/bin/
|
|
COPY --from=build_debug /code/build/lib/libmariadb.so.3 /usr/lib/
|
|
#COPY --from=build_debug /code/build/lib/libPocoNetSSLd.so.64 /usr/lib/libPocoNetSSLd.so.64
|
|
RUN chmod +x /usr/bin/Gradido_LoginServer
|
|
EXPOSE 1200
|
|
EXPOSE 1201
|
|
|
|
#CMD gdb -ex=r Gradido_LoginServer
|
|
CMD Gradido_LoginServer |