Past Meetup

Continuous integration with Conan, Jenkins and Artifactory

This Meetup is past

84 people went

Location image of event venue


Este mes los valientes ponentes son los fundadores de un package manager para C y C++ que está teniendo bastante tirón, sobre todo desde que son parte de JFrog.

Han dado algunas conferencias (ACCU, MeetingC++, CppCon) de Conan y recientemente han estado en la conferencia de Jenkins TelAviv una de integracion con Conan + Jenkins + Artifactory, con el plugin de Artifactory-Jenkins, usando pipelines y demas. C y C++ tienen cosas interesantes que los hacen especiales de cara a CI, y Conan hace el nexo de union entre el lenguage y sus multiples build systems y CI

El evento será patrocinado por Intelygenz Academy ( la cual aportará un buen refrigerio al final de la charla.

Podréis preguntar todo lo que queráis sobre el master DevOps que van a empezar a impartir a principios de 2018 como título propio de la UAH ).

Como deferencia a los miembros de este grupo harán un 10% de descuento para los miembros de Madrid DevOps y un 25% si se inscriben asistentes al MeetUp del 14 de diciembre.


Una breve introducción a lo que veremos en la charla:

Dependency information together with the smart management of binaries and binary compatibility of Conan package manager can be used to implement a modularized, fast and efficient Continuous Integration (CI) process for large C and C++ projects. This CI system knows what needs to be rebuilt, what can be built in parallel, and how to transparently manage build dependencies as testing frameworks or toolchains (such as cross-compilation to Android). This talk will present a CI system, implemented for Jenkins (but which could be implemented in other CI systems too), that using the dependency graph provided by the package manager, is able to trigger dependent packages' build jobs, and only those transitively affected by the change, in the correct build order. Furthermore, the build jobs are arranged in concurrency levels, by the degree/ordering in the graph, but also for different configurations, so optimal build parallelism can be achieved. Also such dependent packages can define custom rules to decide to build themselves or not, depending on configuration or versioning criteria. Everything will be fully demonstrated in practical examples. We will also present advanced CI techniques, such as how to create packages for tools, like testing frameworks, to lately inject them as build-requirements to other libraries. Moreover, the process can also automate the installation and transparent usage of complete toolchains, like cross compiling C/C++ to Android with the Android NDK toolchain, to achieve a process that is convenient for developers and highly repeatable.