In the previous two posts, we covered first setting up SSL registration and automated maintenance using a Docker container from LinuxServer.io for Let’s Encrypt’s services, and then followed it up with enabling encrypted HTTPS and Container Repository on a GitLab server. So what’s next on the list for fully-functional Continuous Integration (CI)? Runners.
As discussed in the previous guide, we used Let’s Encrypt to get legitimate SSL certificates for valid, external domains, and then mapped all of it internally to our own locally-hosted services via DNS. And of course, everything that needs to be maintained periodically is completely automated — a well-oiled machine.
If you’re unfamiliar, Let’s Encrypt allows you to register multiple domains and subdomains to get a valid SSL certificate (i.e., valid as in signed by a trusted third party Certificate Authority, CA) for encrypting your services. They also provide a utility for persistently maintaining the registration over time so that your certificates are always valid.
We’ve posted about the powerful capabilities of Docker before, including topics on standing up a containerized version of REDHAWK SDR and testing a REST-Python server with Docker Compose. In this post, we will walk you through using Docker to build and run Analog Devices’ IIO Oscilloscope.
Due to long development cycles (and short schedules!), firmware designers often struggle to generate modular intellecutal property (IP) that is reusable between applications. Modularity relies heavily upon parameterization which can be a difficult challenge in firmware design. Instead of a single IDE with an integrated compiler, parameters are scattered across HDL design files, modeling tools (MATLAB/Octave/Python), vendor tools (Vivado/Quartus/Libero), and simulation tools (QuestaSim/Cadence). The modification of these parameters must be synchronized when reusing IP.