Setting up a CI/CD pipeline for a Python application
Docker is not just for deploying software to the cloud. Cloud-based CI/CD services can build and publish 64-bit Arm container images for deploying to edge devices. Containerized software updates are less disruptive than full A/B image updates because they don’t require a reboot. Users get nervous when they see their devices fall offline even if just for a moment.
Containerized software updates are also less risky than full A/B image updates because they don’t include a Linux kernel. An edge device may fail to boot because of a bad kernel update. Unless there is a fail-safe mechanism in place, the device is effectively bricked. Upstream kernel modules fall into disrepair as hardware ages out. Kernel upgrades are especially dangerous because they can introduce kernel panics.
Back in the Building on top of an existing BSP section of Chapter 7, we added a custom layer for a Python Bluetooth server application to...