mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
update release build, use also prebuild alpine dependencies
This commit is contained in:
parent
92d8316184
commit
efc7c8bc2d
@ -31,20 +31,7 @@ include_directories(${Protobuf_INCLUDE_DIRS})
|
||||
FIND_PACKAGE(gRPC CONFIG REQUIRED)
|
||||
find_program(GRPC_CPP_PLUGIN grpc_cpp_plugin)
|
||||
|
||||
set(PROTOC_LIB_PATH "/usr/local/lib")
|
||||
find_library(PROTOBUF_LIB protobufd PATHS ${PROTOC_LIB_PATH} REQUIRED)
|
||||
find_library(PROTOBUF_LITE_LIB protobuf-lited PATHS ${PROTOC_LIB_PATH} REQUIRED)
|
||||
find_library(PROTOC_LIB protocd PATHS ${PROTOC_LIB_PATH} REQUIRED)
|
||||
|
||||
set(DEPENDENCIES_GRPC_LIB_PATH "pre_build/dependencies/grpc/lib")
|
||||
find_library(GRPC_PP_REFLECTION grpc++_reflection PATHS ${DEPENDENCIES_GRPC_LIB_PATH} REQUIRED)
|
||||
find_library(GRPC_PP grpc++ PATHS ${DEPENDENCIES_GRPC_LIB_PATH} REQUIRED)
|
||||
find_library(GRPC_GPR gpr PATHS ${DEPENDENCIES_GRPC_LIB_PATH} REQUIRED)
|
||||
#find_library(GRPC_GRPC grpc PATHS ${DEPENDENCIES_GRPC_LIB_PATH} REQUIRED)
|
||||
|
||||
|
||||
#set(GRPC_LIBS ${GRPC_PP_REFLECTION} ${GRPC_PP} ${GRPC_GPR})
|
||||
set(PROTOBUF_LIBS ${PROTOBUF_LIB} ${PROTOBUF_LITE_LIB} ${PROTOC_LIB})
|
||||
set(PROTOBUF_LIBS protobuf::libprotobuf protobuf::libprotobuf-lite protobuf::libprotoc)
|
||||
|
||||
############################## parse proto files ###################################
|
||||
|
||||
@ -175,12 +162,23 @@ find_library(MYSQL_LIBRARIES mariadb PATHS "/usr/local/lib/mariadb" REQUIRED)
|
||||
############################## config and add poco ###################################
|
||||
set(BUILD_LIB_PATH "(/usr/local/lib")
|
||||
|
||||
find_library(POCO_FOUNDATION_LIB PocoFoundationd PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_UTIL_LIB PocoUtild PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_NET_SSL_LIB PocoNetSSLd PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_DATA_LIB PocoDatad PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_JSON_LIB PocoJSONd PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_NET_LIB PocoNetd PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
IF(CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
find_library(POCO_FOUNDATION_LIB PocoFoundationd PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_UTIL_LIB PocoUtild PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_NET_SSL_LIB PocoNetSSLd PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_DATA_LIB PocoDatad PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_JSON_LIB PocoJSONd PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_NET_LIB PocoNetd PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
message("use Poco Debug libs")
|
||||
ELSE()
|
||||
find_library(POCO_FOUNDATION_LIB PocoFoundation PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_UTIL_LIB PocoUtil PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_NET_SSL_LIB PocoNetSSL PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_DATA_LIB PocoData PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_JSON_LIB PocoJSON PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
find_library(POCO_NET_LIB PocoNet PATHS ${BUILD_LIB_PATH} REQUIRED)
|
||||
message("use Poco Release libs")
|
||||
ENDIF()
|
||||
|
||||
set(POCO_LIBS ${POCO_FOUNDATION_LIB} ${POCO_UTIL_LIB} ${POCO_NET_SSL_LIB} ${POCO_DATA_LIB} ${POCO_JSON_LIB} ${POCO_NET_LIB})
|
||||
|
||||
|
||||
@ -1,76 +1,42 @@
|
||||
#########################################################################################################
|
||||
# cmake
|
||||
#########################################################################################################
|
||||
FROM gcc:9 as cmake-gcc-9
|
||||
|
||||
ENV DOCKER_WORKDIR="/code"
|
||||
RUN mkdir -p ${DOCKER_WORKDIR}
|
||||
WORKDIR ${DOCKER_WORKDIR}
|
||||
|
||||
USER root
|
||||
|
||||
RUN git clone https://github.com/Kitware/CMake.git --branch=v3.19.8 \
|
||||
&& cd CMake \
|
||||
&& ./bootstrap \
|
||||
&& make -j${nproc} \
|
||||
&& make install
|
||||
|
||||
|
||||
#########################################################################################################
|
||||
# Build release
|
||||
#########################################################################################################
|
||||
From cmake-gcc-9 as release
|
||||
FROM gradido/login_dependencies:alpine-release-1 as release
|
||||
|
||||
ENV DOCKER_WORKDIR="/code"
|
||||
|
||||
USER root
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get -y --no-install-recommends install libboost-all-dev gettext \
|
||||
&& apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
|
||||
|
||||
RUN mkdir -p ${DOCKER_WORKDIR}
|
||||
WORKDIR ${DOCKER_WORKDIR}
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN cd dependencies/mariadb-connector-c && \
|
||||
mkdir build && \
|
||||
cd build && \
|
||||
cmake -DWITH_SSL=OFF ..
|
||||
|
||||
RUN chmod +x compile_pot.sh && ./compile_pot.sh
|
||||
|
||||
COPY ./CMakeLists.txt.lib ./CMakeLists.txt
|
||||
COPY ./src ./src
|
||||
COPY ./dependencies ./dependencies
|
||||
COPY ./scripts ./scripts
|
||||
RUN cd scripts && \
|
||||
chmod +x compile_pot.sh && \
|
||||
./compile_pot.sh
|
||||
|
||||
RUN mkdir build && \
|
||||
cd build && \
|
||||
cmake .. && \
|
||||
make -j$(nproc) protoc grpc_cpp_plugin
|
||||
|
||||
RUN chmod +x unix_parse_proto.sh && ./unix_parse_proto.sh
|
||||
cmake -DCMAKE_BUILD_TYPE=Release .. && \
|
||||
make -j$(nproc) Gradido_LoginServer
|
||||
|
||||
RUN cd build && \
|
||||
cmake .. && \
|
||||
make -j$(nproc) Gradido_LoginServer
|
||||
|
||||
CMD ["./code"]
|
||||
|
||||
#########################################################################################################
|
||||
# run release
|
||||
#########################################################################################################
|
||||
#From alpine:latest as login_server
|
||||
FROM ubuntu:latest as login_server
|
||||
FROM alpine:3.13.5 as login_server
|
||||
|
||||
USER root
|
||||
WORKDIR "/usr/bin"
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get -y --no-install-recommends install libsodium-dev libssl-dev \
|
||||
&& apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
|
||||
|
||||
COPY --from=release /code/build/bin/Gradido_LoginServer /usr/bin/
|
||||
COPY --from=release /code/build/lib/*.so.64 /usr/lib/
|
||||
COPY --from=release /code/build/dependencies/mariadb-connector-c/libmariadb/libmariadb.so.3 /usr/lib/
|
||||
#COPY --from=release /code/build/lib/libmariadb.so.3 /usr/lib/
|
||||
|
||||
COPY --from=release /usr/local/lib/mariadb/libmariadb.so.3 /usr/local/lib/
|
||||
COPY --from=release /usr/local/lib/libPoco* /usr/local/lib/
|
||||
COPY --from=release /usr/lib/libsodium.so.23 /usr/lib/
|
||||
COPY --from=release /usr/lib/libstdc++.so.6 /usr/lib/
|
||||
COPY --from=release /usr/lib/libgcc_s.so.1 /usr/lib/
|
||||
|
||||
|
||||
RUN chmod +x /usr/bin/Gradido_LoginServer
|
||||
ENTRYPOINT ["/usr/bin/Gradido_LoginServer"]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user