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.
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
.