3 Commits

13 changed files with 55 additions and 15 deletions
+11 -8
View File
@@ -34,16 +34,19 @@ RUN mkdir -p /tmp/boost-src \
RUN cd /tmp/boost-src \ RUN cd /tmp/boost-src \
&& ./b2 -j"$(nproc)" install && ./b2 -j"$(nproc)" install
ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
# Project copy # Project copy
WORKDIR /project WORKDIR /project
COPY . /project # COPY . /project
EXPOSE 8080 EXPOSE 8080
RUN set -eux; pwd; ls -la /project; test -f /project/CMakeLists.txt
# Build & Run project # Build & Run project
RUN mkdir /project/dist CMD ["bash", "-lc", "\
RUN ls -la /project set -euo pipefail; \
RUN cmake -S /project -B /project/dist -Dmysql-concpp_DIR=/opt/mysql-concpp test -f /project/CMakeLists.txt; \
RUN cmake --build /project/dist mkdir -p /project/dist; \
RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf && ldconfig cmake -S /project -B /project/dist --target App -Dmysql-concpp_DIR=/opt/mysql-concpp; \
CMD ["/project/dist/App", "0.0.0.0", "8080", ".", "12", "mysqlx://root:root@host.docker.internal:33060"] cmake --build /project/dist -j2; \
exec /project/dist/App 0.0.0.0 8080 . 12 mysqlx://root:root@up_and_down_mysql:33060 \
"]
+7 -5
View File
@@ -1,10 +1,11 @@
# Запуск(Без Docker): # Запуск(Без Docker):
- cmake .. -DBOOST_ROOT=C:\Libs\boost_1_88_0 -Dmysql-concpp_DIR=C:\Libs\mysql_connector - cmake .. -DBOOST_ROOT=C:\Libs\boost_1_88_0 -Dmysql-concpp_DIR=C:\Libs\mysql_connector
- cmake --build . - cmake --build .
- ./App <address> <port> <doc_root> <threads_count> <mysqlx://user:password@localhost:3306>
# Запуск(С Docker): # Запуск(С Docker):
- $env:DOCKER_BUILDKIT=1; docker build --progress=plain -t up_and_down . - $env:DOCKER_BUILDKIT=1; docker build --progress=plain -t up_and_down .
- docker run --rm -p 8080:8080 docker ./dist:/project/dist up_and_down - docker run --rm -v //c/CLionProjects/UpAndDown:/project -p 8080:8080 up_and_down
# TODO: # TODO:
@@ -33,18 +34,19 @@
- ~~Разобрать decltype и auto по статье~~ - ~~Разобрать decltype и auto по статье~~
- Подготовить резюме для тестовых собесов - Подготовить резюме для тестовых собесов
- DockerHosting.ru - купить аренду после того, как будет готов фронт и бэк - DockerHosting.ru - купить аренду после того, как будет готов фронт и бэк
- Сделать 2-3 теста
- Продвинуться по фронтенду(форма авторизации и логина)
До 27.01.2026 До 27.01.2026
- ~~Подобрать сервер по параметрам. Использовать linux.~~ - ~~Подобрать сервер по параметрам. Использовать linux.~~
- ~~Перевести string на string_view~~ - ~~Перевести string на string_view~~
- ~~Попробовать nodiscard к executoru~~ - ~~Попробовать nodiscard к executoru~~
- ~~Добить 2 ручки~~ - ~~Добить 2 ручки~~
До 10.02.2026 До 01.04.2026
- Сделать 2-3 теста
- Продвинуться по фронтенду(форма авторизации и логина)
- Сделать Dockerfile & Docker-compose(очищать и заполнять базу после каждого тест-кейса) - Сделать Dockerfile & Docker-compose(очищать и заполнять базу после каждого тест-кейса)
- Возможно, сделать тесты на CI/CD - приоритет - низкий - Возможно, сделать тесты на CI/CD - приоритет
- Научиться поднимать базы данных под каждый тест - научиться Docker - docker-compose - а если тест что-то должен заполнить, то он заполняет в самом начале - Научиться поднимать базы данных под каждый тест - научиться Docker - docker-compose - а если тест что-то должен заполнить, то он заполняет в самом начале
- Проставить const на немутабельные объекты - Проставить const на немутабельные объекты
- Передавать аргументы через --argument=value и парсить их через Boost::program_options
# План # План
1)Добить бэкенд(2 ручки) (до февраля) 1)Добить бэкенд(2 ручки) (до февраля)
-1
View File
@@ -1 +0,0 @@
Здесь коллекционируются логи и лежит билд для докера
+36
View File
@@ -0,0 +1,36 @@
services:
up_and_down_service:
build:
context: .
dockerfile: Dockerfile
volumes:
- "//c/CLionProjects/UpAndDown:/project"
ports:
- "8080:8080"
depends_on:
up_and_down_mysql:
condition: service_healthy
up_and_down_mysql:
image: mysql:8.4
command: >
--mysqlx=ON
--mysqlx-port=33060
environment:
MYSQL_ROOT_PASSWORD: root
ports:
- "3307:3306"
- "33061:33060"
volumes:
- mysql_data:/var/lib/mysql
- "//c/CLionProjects/UpAndDown/db_assets/sql_scripts:/docker-entrypoint-initdb.d:ro"
healthcheck:
test: [ "CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -uroot -p\"$$MYSQL_ROOT_PASSWORD\" --silent" ]
interval: 5s
timeout: 3s
retries: 30
start_period: 20s
restart: unless-stopped
volumes:
mysql_data:
+1 -1
View File
@@ -9,7 +9,7 @@ namespace uad
void InitLogs() void InitLogs()
{ {
logging::add_file_log( logging::add_file_log(
logging::keywords::file_name = "app_%Y-%m-%d_%H-%M-%S.log", logging::keywords::file_name = "./logs/up_and_down_%Y-%m-%d_%H-%M-%S.log",
logging::keywords::rotation_size = 10 * 1024 * 1024, logging::keywords::rotation_size = 10 * 1024 * 1024,
logging::keywords::time_based_rotation = logging::keywords::time_based_rotation =
logging::sinks::file::rotation_at_time_point(0, 0, 0), logging::sinks::file::rotation_at_time_point(0, 0, 0),