Continuous integration system core written in C++
This repository contains a core of continuous integration system cis1 written in C++. This component follows the rules described in the cis1-docs repository. It's compatible with OS Linux; the support for OS Windows is not guaranteed, but we are working to add it.
Full system description, terms and entity definitions can be found on this document page.
Set cis_base_dir
environment variable to the cis1 installation directory path.
Create job. (see cis1-docs)
Run the job with the following command
$ ${cis_base_dir}/core/$startjob internal/core_test
After the command is successfully executed, the exitcode of the job and some other parameters will be displayed in the console.
Install webui. After successful installation, you can manage the cis core via web interface.
Build requirements:
Conan, gcc 8.3, CMake 3.9+
Add the tomsksoft
and bincrafters
requirements to conan
$ conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan
$ conan remote add tomsksoft https://api.bintray.com/conan/tomsksoft/cis1
Switch to the build directory and install build dependencies
$ conan install ${PATH_TO_SRC} --profile -s build_type=Release --build=missing
Generate build scripts with CMake
$ cmake ${PATH_TO_SRC} -DCMAKE_BUILD_TYPE=Release
You can set the BUILD_DOC and BUILD_TESTING CMake variables. The default values are:
BUILD_DOC ON
BUILD_TESTING OFF
Run build
$ cmake --build .
When the build is completed, the executables will appear in:
${PATH_TO_BUILD_DIR}/bin
Run deploy/deploy.py
$ ./deploy.py --execs_dir ${PATH_TO_BUILT_EXECUTABLES} --deploy_dir ${PATH_WHERE_CIS_WILL_BE_DEPLOYED}