service_template
service_template copied to clipboard
Template of a C++ service that uses userver framework. Build, test and CI scripts ready
service_template
Template of a C++ service that uses userver framework.
Download and Build
To create your own userver-based service follow the following steps:
- Press the green "Use this template button" at the top of this github page
- Clone the service
git clone your-service-repo && cd your-service-repo && git submodule update --init - Give a proper name to your service and replace all the occurences of "service_template" string with that name
- Feel free to tweak, adjust or fully rewrite the source code of your service.
Makefile
Makefile contains typicaly useful targets for development:
make build-debug- debug build of the service with all the assertions and sanitizers enabledmake build-release- release build of the service with LTOmake test-debug- does amake build-debugand runs all the tests on the resultmake test-release- does amake build-releaseand runs all the tests on the resultmake service-start-debug- builds the service in debug mode and starts itmake service-start-release- builds the service in release mode and starts itmakeormake all- builds and runs all the tests in release and debug modesmake format- autoformat all the C++ and Python sourcesmake clean-- cleans the object filesmake dist-clean- clean all, including the CMake cached configurationsmake install- does amake build-releaseand run install in directory set in environmentPREFIXmake install-debug- does amake build-debugand runs install in directory set in environmentPREFIXmake docker-COMMAND- runmake COMMANDin docker environmentmake docker-build-debug- debug build of the service with all the assertions and sanitizers enabled in docker environmentmake docker-test-debug- does amake build-debugand runs all the tests on the result in docker environmentmake docker-start-service- does amake install-debugand runs service in docker environmentmake docker-start-service-debug- does amake install-debugand runs service in docker environment
Edit Makefile.local to change the default configuration and build options.
License
The original template is distributed under the Apache-2.0 License and CLA. Services based on the template may change the license and CLA.