[soeren.codes] Exploring tech issues

GitLab CI and OTRS6 Unit Tests

This post assumes that you have a bit of previous experience:

  1. Previously worked with OTRS5 or OTRS6, at least as administrator
  2. Experience with Perl5, unit tests
  3. Some experience with GitLab CI

I will touch on all of the above points as good as I can throughout the post, but I may not go into great detail everywhere.

Background

In OTRS6, add-ons are delivered in .opm packages. To build these add-ons, an internal function Kernel::System::Package->PackageBuild() is called. Alternatively, one can use the console command Dev::Package::Build, specifying the path to the .sopm file (which then calls the above function and builds the final .opm file). To make our developer lives easier, our team has integrated the build process into the GitLab Continuous Integration. Using CI, after every commit, a package is built from the existing .sopm file and finally pushed to an internal repository server. From there, we can fetch packages as needed. continue reading...