This repository eases the installation process of KernelCI through the usage of Docker containers.
It uses Docker Compose file to decribe the services of the whole application:
You can use kernelci-docker to run local / development versions of KernelCI. This allows you to do changes within the code and get the result instantly in the running docker instances. The source code of kernelci frontend and backend is included in this repo as submodules.
To get the code locally run the following commands:
git submodule init
git submodule update
Once finished, the code of kernelci frontend and backend are available in frontend/kernelci-frontend
and backend/kernelci-backend
respectively.
You can start doing changes locally, apply patches, or add your own git remote to fetch your changes.
You can run the application (backend & frontend) with Docker Compose. Behind the hood, it will use the docker-compose.yml file which defines some additional options to mount the frontend's and backend's source code so changes done in your local IDE will be taken into account directly in the running application (through nodemon).
Some wrapper scripts were developed to perform the actions needed:
Start the application with the following command:
$ ./dev-start.sh
Once the application is running, the frontend and backend source code can be modified directly from your favorite IDE. Each changes will be taken into account automatically within the running containers and the main process will be reloaded.
You can build new images with the following command:
$ docker-compose build SERVICE_NAME
The application can then be stopped
$ ./dev-stop.sh
This is a work in progress [WIP], currently not fully functional.
Several features need to be added:
Among the ongoing changes: