123456789101112131415161718192021222324252627 |
- FROM ghcr.io/userver-framework/ubuntu-userver-build-base:v1 AS builder
- RUN apt update && \
- apt install -y lsb-release wget software-properties-common gnupg && \
- wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && ./llvm.sh 16
- WORKDIR /src
- RUN git clone https://github.com/userver-framework/userver.git && \
- cd userver && git checkout 781169b63bdbc012f7d98ed045bff75ff1b0b70d
- COPY userver_benchmark/ ./
- RUN mkdir build && cd build && \
- cmake -DUSERVER_IS_THE_ROOT_PROJECT=0 -DUSERVER_FEATURE_CRYPTOPP_BLAKE2=0 \
- -DUSERVER_FEATURE_REDIS=0 -DUSERVER_FEATURE_CLICKHOUSE=0 -DUSERVER_FEATURE_MONGODB=0 -DUSERVER_FEATURE_RABBITMQ=0 -DUSERVER_FEATURE_GRPC=0 \
- -DUSERVER_FEATURE_UTEST=0 \
- -DUSERVER_FEATURE_POSTGRESQL=1 \
- -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-march=native" -DCMAKE_C_FLAGS="-march=native" \
- -DCMAKE_CXX_COMPILER=clang++-16 -DCMAKE_C_COMPILER=clang-16 -DUSERVER_USE_LD=lld-16 .. && \
- make -j $(nproc)
- FROM builder AS runner
- WORKDIR /app
- COPY userver_configs/* ./
- COPY --from=builder /src/build/userver_techempower ./
- EXPOSE 8080
- CMD ./userver_techempower -c ./static_config.yaml
|