summaryrefslogtreecommitdiff
path: root/devops/dockerfiles/README
diff options
context:
space:
mode:
Diffstat (limited to 'devops/dockerfiles/README')
-rw-r--r--devops/dockerfiles/README65
1 files changed, 65 insertions, 0 deletions
diff --git a/devops/dockerfiles/README b/devops/dockerfiles/README
new file mode 100644
index 0000000..9cea47d
--- /dev/null
+++ b/devops/dockerfiles/README
@@ -0,0 +1,65 @@
+To build the docker image on your local PC, clone this project and navigate to this folder. Then run
+
+ docker build --tag <docker_image_name> --file Dockerfile_genivi_nsm_dev .
+
+The image <docker_image_name> will be created and stored in the docker registry on your local PC thus.
+
+Let's assume there is a <working> folder on your local PC (on the full path <path_working>).
+In this folder you should clone node state manager.
+
+- clone "node-state-manager"
+
+To run a docker container with the generated <docker_image_name> image, and to pull your <working> folder into the docker container in order to be able to work, run
+
+ docker run -it --name <docker_container_name> --tmpfs /tmp --tmpfs /run --tmpfs /run/lock -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v <path_working>:/home/<working> <docker_image_name>
+
+To exit the container, just type
+
+ exit
+
+To run the same container again and continue your work, run
+
+ docker exec -it <docker_container_name> bash
+
+A few basic useful docker commands
+
+ docker images
+ docker container ls -a
+ docker rm <container_to_remove>
+ docker rmi <image_to_remove>
+
+
+---
+
+To work on the "node-state-manager", run/start the container.
+
+Before you can compile the NSM, you need to generate and build the necessary CommonAPI interfaces.
+The interfaces and a CMake project for generating and building them can be found in NodeStateAccess/interfaces/.
+(Note that this requires the CommonAPI and SomeIP code generators. You will need to clone the commonapi-core-tools and
+commonapi-someip-tools repositories from GENIVI and build them from there. Find instructions on how to do this in their
+respective READMEs.)
+
+To build "node-state-manager" with cmake:
+
+ cd /home/<working>/node-state-manager
+ git checkout -b <right_branch>
+ mkdir build
+ cd build
+ cmake .. # disable/enable options according to your needs
+ make
+ make install
+
+ # To run tests
+ ctest
+
+ # To run Coverage
+ ctest -T Test -T Coverage
+
+---
+
+This Dockerfile is developed with
+
+ $ docker --version
+ Docker version 19.03.12, build 48a66213fe
+
+The parameters presented above may vary according to the installed docker version on your local PC.