Getting Started with Embedded DevOps using Gitlab CI/CD Pipelines
Continuous Integration and Continuous Delivery (CI/CD) have become critical tools to IoT edge device developers. In this workshop, participants will delve into the fundamentals of Embedded DevOps by designing and implementing their own CI/CD pipeline using Gitlab.
Attendees will gain practical experience in configuring build systems, designing a CI/CD pipeline, and implementing it. (At least as much as can be done in a few hours). We’ll explore how to containerize your build environment in Docker, so that you can easily integrate it into an embedded CI/CD pipeline. You’ll also learn how to use Visual Studio Code to seamlessly integrate your build processes within a single environment.
Attendees will walk away with a basic, but functional CI pipeline that they can easily scale to meet their needs.
Key topics covered in this workshop include:
- The role of DevOps in Edge and embedded system development
- CI/CD pipeline design for embedded systems
- Containerizing your build system in Docker
- Set up and deployment of CI/CD solutions
- Best practices and steps to go further
What primary benefit did Jacob Beningo emphasize for containerizing your embedded build system with Docker?
So finishing working through this workshop now that I have a bit of time. In part 2, where we set up the CI/CD pipeline, noticed some minor bugs:
- The
gitlab-ci.txtfile has the lineimage: beningo/embedded-dev:latestin the default section. Thebeningoshould bebeningojw. Otherwise this causes a build failure when looking for the image on gitlab. - The
unit-test-jobstage in the.gitlab-ci.txtfile callsmake testsinstead ofmake unit_tests. - There is already a completed
.gitlab-ci-ymlfile present in the/00-Starters/LAB_2/controller/, not sure if that got left over from the solutions folder.
Not sure if you're going to use these files again for another workshop or not, but wanted to let you know.
Enjoyed the workshop and it's great to see how all this works. Will be hoping to work more with CI/CD in the future for my projects! (seems like my markdown code highlighting might not display properly on the website comments)
Thanks for letting me know. I’ll double check if these changes have already been made in my full course.
I’m glad to hear that you were able to take away several actions to apply in your projects!
It's been reported in an Ars Technica article this week that GitLab has a critical security vulnerability.
https://arstechnica.com/security/2024/05/0-click-gitlab-hijacking-flaw-under-active-exploit-with-thousands-still-unpatched/
Thanks for letting us know!





I like the point about Agile and DevOps - I think of DevOps as the full realization of Agile, or the endgame of it.