Skip to main content

DevOps

To enable a robust & high quality software development and a secure software roll-out, the DevOps Workflow is the standard process used in many development and operation teams. The hopit Portal offers a complete tool set, to help you implement the whole DevOps Cycle for machines equipped with Beckhoff IPC's.

DevOps Cycle

The DevOps Cycle starts with the coding section, which means in this case the coding of the PLC software in TwinCAT. The TwinCAT project gets versioned using GitLab. On each commit, a CI/CD Pipeline gets triggered which builds and tests the code on a dedicated Beckhoff IPC. When a version tag is created in git (e.g. 1.2.6 or 2.0.0-beta), the CI/CD pipeline will also execute a release step which generates a package of the PLC project. This package can be later deployed on the hopit Edge devices by setting the DesiredVersion property in the Device Twin. In the operate step, the hopit Edge service will load and start the PLC software on the Edge device. The DevOps Cycle finishes with the monitoring step, which can monitor PLC signals and system resources like CPU, Memory, ... .

Development Process

Configuration

The CI/CD pipeline configuration is stored in the .gitlab-ci.yml file located in the root directory of the Git repository. As a starting point, a sample configuration can be found in the hopit.demo project on GitLab. Here some parameters have to be set:

variables:
# project variables
PLC_SOLUTION_FILE: "./HOPIT_DEMO.sln"
PLC_PROJECT_FILE: "./HOPIT_DEMO/HOPIT_DEMO.tsproj"
PROJECT_TEST_PATH: "./HOPIT_DEMO/test"
PROJECT_OUTPUT_PATH: "./HOPIT_DEMO"
AUTHORS: "HEAP Engineering GmbH"
SUMMARY: "hopit demo plc project"
DESCRIPTION: "hopit deployment demo"

# TwinCAT parameters
TWINCAT_BUILD: "4024.32"
XAE_VERSION: "TcXaeShell.DTE.15.0"
TARGET_PLATFORM: "TwinCAT RT (x64)"

To finish the configuration, copy the package folder and optionally the test folder from the hopit.demo project to your GitLab project. For more details please read the README.md.