Dev Ops simplified RikuPekka Silvola 9252020 Kobe pipelines
Dev. Ops simplified Riku-Pekka Silvola 9/25/2020 Kobe pipelines simplified 2
Configuring Kobe pipeline Configured with. gitlab-ci. yml in your project • Documentation available on Git. Lab • 9/25/2020 Kobe pipelines simplified 3
Challenges Storing the same configuration on all projects is hard to maintain • Unnecessary complexity for most developers • On complex projects gets hard to read and merge conflicts can wreak havoc • 9/25/2020 Kobe pipelines simplified 4
Introduce templates Templates allow us to include definitions from external files, including from other projects • These can be extended when necessary, e. g. for projects with a compilation stage • Allow for centralized improvements • • Upstream triggers Unit tests Etc. 9/25/2020 Kobe pipelines simplified 5
The simplest example Build, Nexus, EDMS From 72 lines to 3 9/25/2020 Kobe pipelines simplified 6
Triggering upstream projects Replace kobe. yml with jcopfw. yml, unicos. yml or jcop_n_unicos_fw. yml • To trigger a different project, you can define • • • KOBE_TRIGGER_TOK_1 (trigger token) KOBE_TRIGGER_PROJ_1 (project id e. g. 43850) KOBE_TRIGGER_NAME_1 (human readable name) KOBE_TRIGGER_ENV_1 (URL to pipelines) Example pipeline 9/25/2020 Kobe pipelines simplified 7
Unit tests! Runs your unit tests as part of the pipeline • Pushes results to Vertical Slice • Currently requires simple unit_tests. sh in CI/ directory. (see example on fw. Access. Control) • • • Temporary solution Disable by defining CI_SKIP_UNIT_TESTS 9/25/2020 Kobe pipelines simplified 8
Compilation and other extensions full sources for doxygen explicit dependency on compile jobs fw. Access. Control More complex pipelines also simplified • All stages must be in stages. yml template • You can add new jobs to existing stages locally • 9/25/2020 Kobe pipelines simplified 9
- Slides: 10