make login server runnable without config volume

This commit is contained in:
einhorn_b 2021-05-31 16:11:31 +02:00
parent 0ebfc67ef2
commit 90a0c8970f
4 changed files with 74 additions and 10 deletions

View File

@ -270,7 +270,7 @@ jobs:
report_name: Coverage Backend
type: lcov
result_path: ./coverage/coverage.info
min_coverage: 8
min_coverage: 6
token: ${{ github.token }}
##############################################################################
@ -282,11 +282,10 @@ jobs:
needs: [build_test_community_server]
services:
mariadb:
image: mariadb/server:10.5
image: gradido/mariadb:test
env:
MARIADB_ALLOW_EMPTY_PASSWORD: 1
MARIADB_USER: root
MARIADB_DATABASE: gradido_community_test
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping"
@ -294,16 +293,16 @@ jobs:
--health-timeout=2s
--health-retries=3
login-server:
image: gradido/login_server:latest
image: gradido/login_server:default
ports:
- 1201:1201
#volumes:
#- configs/login_server:/etc/grd_login
volumes:
- /home/runner/work/gradido/gradido/configs/login_server:/etc/grd_login
steps:
- name: Debug service
run: echo "$(docker ps)"
- name: Debug folder
run: $(pwd)
run: echo "$(pwd)"
##########################################################################
# CHECKOUT CODE ##########################################################
##########################################################################
@ -324,7 +323,7 @@ jobs:
##########################################################################
- name: community server | Unit tests
run: |
docker run --network container:$(docker container ls | grep mariadb | awk '{ print $1 }') --network container:$(docker container ls | grep login | awk '{ print $1 }') -v ~/coverage:/var/www/cakephp/webroot/coverage gradido/community_server:test
docker run --network container:$(docker container ls | grep mariadb | awk '{ print $1 }') -v ~/coverage:/var/www/cakephp/webroot/coverage gradido/community_server:test
cp -r ~/coverage ./coverage
##########################################################################
# COVERAGE CHECK BACKEND COMMUNITY-SERVER ####################################

View File

@ -83,13 +83,14 @@ ENTRYPOINT ["build/bin/Gradido_LoginServer"]
#########################################################################################################
# Build release
#########################################################################################################
FROM gradido/login_dependencies:alpine-release-1 as release
FROM gradido/login_dependencies:alpine-release-2 as release
ENV DOCKER_WORKDIR="/code"
WORKDIR ${DOCKER_WORKDIR}
COPY ./CMakeLists.txt.lib ./CMakeLists.txt
COPY ./src ./src
RUN ln -s /usr/local/googletest ./googletest
COPY ./dependencies/cmake-modules ./dependencies/cmake-modules
COPY ./dependencies/spirit-po ./dependencies/spirit-po
COPY ./dependencies/tinf ./dependencies/tinf
@ -126,3 +127,11 @@ COPY --from=release /usr/lib/libgcc_s.so.1 /usr/lib/
RUN chmod +x /usr/bin/Gradido_LoginServer
ENTRYPOINT ["/usr/bin/Gradido_LoginServer"]
#CMD Gradido_LoginServer
#########################################################################################################
# run release with default docker config
#########################################################################################################
FROM login_server as login_server_default_config
COPY ../configs/login_server/grd_login.properties /etc/grd_login/

View File

@ -0,0 +1,55 @@
#########################################################################################################
# Build release
#########################################################################################################
FROM gradido/login_dependencies:alpine-release-2 as release_default
ENV DOCKER_WORKDIR="/code"
WORKDIR ${DOCKER_WORKDIR}
COPY ./login_server/CMakeLists.txt.lib ./CMakeLists.txt
COPY ./login_server/src ./src
RUN ln -s /usr/local/googletest ./googletest
COPY ./login_server/dependencies/cmake-modules ./dependencies/cmake-modules
COPY ./login_server/dependencies/spirit-po ./dependencies/spirit-po
COPY ./login_server/dependencies/tinf ./dependencies/tinf
COPY ./login_server/scripts ./scripts
RUN mkdir build && \
cd build && \
cmake -DCMAKE_BUILD_TYPE=Release .. && \
make -j$(nproc) Gradido_LoginServer
RUN cd scripts && \
chmod +x compile_pot.sh && \
./compile_pot.sh
#########################################################################################################
# run release with docker default config
#########################################################################################################
#From alpine:latest as login_server
FROM alpine:3.13.5 as login_server_default
USER root
WORKDIR "/usr/bin"
COPY --from=release_default /code/build/bin/Gradido_LoginServer /usr/bin/
COPY --from=release_default /usr/local/lib/mariadb/libmariadb.so.3 /usr/local/lib/
COPY --from=release_default /usr/local/lib/libPoco* /usr/local/lib/
COPY --from=release_default /usr/lib/libsodium.so.23 /usr/lib/
COPY --from=release_default /usr/lib/libstdc++.so.6 /usr/lib/
COPY --from=release_default /usr/lib/libgcc_s.so.1 /usr/lib/
COPY ./configs/login_server/grd_login.properties /etc/grd_login/
RUN chmod +x /usr/bin/Gradido_LoginServer
ENTRYPOINT ["/usr/bin/Gradido_LoginServer"]
#CMD Gradido_LoginServer

View File

@ -32,4 +32,5 @@ COPY ./mariadb/setup_test_dbs.sql a2_setup_dbs.sql
# login server test db
COPY ./login_server/skeema/ .
RUN cd ./gradido_login/ && for f in *.sql; do cp -- "$f" "../b_$f"; sed -i '1i use gradido_login_test;' "../b_$f"; done
COPY ./configs/login_server/setup_db_tables ./gradido_login/insert
RUN cd ./gradido_login/insert && for f in *.sql; do cp -- "$f" "../../c_$f"; sed -i '1i use gradido_login_test;' "../../c_$f"; done