Embedded DevOps:
Build Systems and
CI/CD Pipelines

Workshops

Embedded DevOps: A Primer on Build Systems and CI/CD Pipelines

Course overview

Build systems and continuous integration continuous deployment (CI/CD) are new to many embedded software developers. Gain the knowledge and skills you need to tackle complex firmware projects through the lectures and hands-on work with embedded DevOps tools in this course.

Build: We delve into the fundamentals of build systems and the inner workings of CI/CD build tools, Make and CMake. You learn how to build systems, manage dependencies, and optimize firmware compilation and deployment processes.

Containerize: Learn how to containerize a build environment in Docker, so you can easily integrate it into an embedded CI/CD pipeline. You use Visual Studio Code to integrate build processes within a single environment seamlessly.

Pipeline: Design and implement a CI/CD pipeline with Gitlab and Github Actions. You set up and use these tools to build a CI/CD pipeline. You also learn how AI tools can accelerate this work.

By the end of this workshop, participants have a solid understanding of build systems, automated testing, and CI/CD strategies with practical application for embedded software development. Armed with these skills, attendees are well-equipped to navigate the complexities of firmware projects, streamline development processes, and deliver robust and optimized embedded systems.

What you learn:

  • Build system containerization: Docker for embedded developers
  • Understand the role of build systems in firmware development and explore the popular tools Make and CMake.
  • How to create efficient build configurations, manage dependencies, and integrate external libraries
  • CI/CD pipeline design for embedded software development
  • Set up and deployment of CI/CD solutions for embedded systems
  • Examples of CI/CD processes
  • How to leverage AI tools to accelerate embedded software development

Join us for this immersive workshop and unlock the keys to mastering modern embedded software practices through an in-depth exploration of build systems and CI/CD strategies.

Should I Attend?

Sign up if you are an engineer who is interested in or needs to design embedded applications using a real-time operating system. You may have little experience or may be an experienced engineer looking for new techniques and embedded software skills. You should already understand the fundamentals of the C programming language. Advanced concepts are reviewed as they apply.

Self-paced online course – $295

Purchase the course >     Online live training >     Custom team training >

Embedded DevOps: A Primer on Build Systems and CI/CD Pipelines

Course outline 5 self-paced sessions

Session 1: DevOps, build systems, and containerization using Docker

Learn how to alleviate development challenges using modern embedded software practices with embedded DevOps.

  • The role of build systems
  • Benefits provided by embedded DevOps
  • Designing a containerized build environment using Docker
  • Lab: Create a portable and reusable build system using Docker. Also, use a large language model (LLM) AI tool to help you optimize performance.
Session 2: Modernizing your build system with Make and CMake

Learn how to streamline firmware builds and enhance embedded software development workflow.

  • Designing and implementing a build system
  • Setting up and customizing popular build system tools such as CMake and Make
  • Techniques for managing dependencies, integrating external libraries, and optimizing the build process for improved performance
  • Lab: Configuring and optimizing a Make and CMake build system
Session 3: CI/CD strategies for embedded software

Learn the fundamental concepts for CI/CD pipeline design and implementation for embedded systems.

  • Creating a CI/CD roadmap and start the implementation.
  • Integrating a build system with a CI/CD solution like Github Actions and Gitlab to automate the build process.
  • Designing a CI/CD pipeline and understand the various tools and technologies used.
  • Lab: Develop a CI/CD strategy for an example embedded project and create the pipeline skeleton.
Session 4: Creating and Configuring CI Pipelines

Learn practical aspects of setting up and leveraging CI pipelines.

  • Step-by-step instructions for configuring and integrating CI pipelines with your build system
  • Using the CI pipeline, including running automated unit tests and baseline code analytics
  • Harnessing the power of CI pipeline to accelerate your development cycles
  • Lab: Create, configure, and deploy a CI pipeline that builds, tests, and analyzes and example firmware project.
Session 5: Creating and configuring CD pipelines

Learn how to deploy firmware to an embedded system using a CD pipeline.

  • Get hands-on experience deploying to a local system
  • Best practices for larger deployments
  • Using CD for embedded software projects effectively in your own firmware projects
  • Lab: Create, configure, and deploy a CD pipeline that automatically deploys firmware to an embedded target.

Frequently Asked Questions

Will the recording be available?

Yes. The recording will be made available after each session.

How long will I have access to the materials?

You will have access to the materials indefinitely. The goal is to provide you with a quality, professional class you can reference to refresh the concepts as needed.

How do I access the course?

The course is hosted on Jacob’s Kajabi site. You’ll receive a login and instructions upon signing up. Live sessions use Zoom.

When are the live sessions scheduled?

The 2024 Spring Live sessions will take place on the following days:

  • March 21, 2024 @ 11 – 12:30 ET
  • April 4, 2024       @ 11 – 12:30 ET
  • April 18, 2024     @ 11 – 12:30 ET
  • April 25, 2024     @ 11 – 12:30 ET
  • May 9, 2024 @ 11 – 12:30 ET

Recordings are provided and if you are unable to make these dates, you can still take this course on-demand.

Can my entire team attend?

Yes. There are various course licensing options available. In general, we provide one login and access per person. However, if you have a team, please contact [email protected] to discuss the best options.

What development board is used for the course?

You’ll be able to apply these techniques to any development board; However, the class examples will use an STM32L475 IoT Discovery Board. All of Jacob’s courses currently use this board. However, with slight modifications, you can use any ST board, or any development board you have at your disposal. (Sorry, we won’t support issues encountered with other development boards).

Are there hands-on labs?

Yes, this course includes hands-on exercises.

Do you have more questions? Email Jacob at [email protected].

Self-paced online course – $295

Purchase the course >     Online live training >     Custom team training >