Cuica

CLI Application
CLI ApplicationCI/CD Examples

CI/CD Examples

CI/CD Examples

GitHub Self-Hosted Runner

To integrate the Cuica into a cloud-based GitHub CI/CD pipeline, a self-hosted runner must be instantiated on an on-premises server with network access to both GitHub and the Cuica. For this example, Docker Compose is used to instantiate the runner.

All placeholder values are enclosed below with <>.

A public example github.com repository using Podman coming soon!

Prerequisites are:

  • Both docker and the compose plugin are installed on the on-premises machine
  • A GitHub repository has been created and the actions configured to use a self-hosted runner
  • A token has been generated for the Cuica and the token registered as a GitHub secret
  • The Cuica hostname has been registered as a GitHub secret
  • The GitHub runner token is stored in a secret file located in .secrets/runner_token
  • An actual device-under-test (DUT) is connected electrically to the Cuica via either the Squeak Board or the 20-pin directly
  • The deployment configuration is set on the Cuica

The following files illustrate how Docker Compose can be used to run the runner service on the on-premises machine.

Jenkins Agent

To integrate the Cuica into an on-premises Jenkins CI/CD pipeline, a Jenkins agent must be running on a server with network access to both Jenkins and the Cuica.

Prerequisites are:

  • The Jenkins Docker plugin has been installed and the Jenkins agent configured
  • The <CUICA_API_TOKEN_CREDENTIALS_ID> has been registered as a secret with Jenkins
  • The code to build this example exists in <REGISTRY_URL>
  • A build environment docker image containing both the toolchain and cuica CLI application has been pushed to the <REGISTRY_URL> docker registry (see Dockerfile for example)
  • An actual DUT is connected electrically to the Cuica via either the Squeak Board or the 20-pin directly
  • The deployment configuration is set on the Cuica

The following Jenkinsfile illustrates how a build and testing of a bundle against a target DUT would be done.

Copyright © Uatha LLC. All rights reserved.