Skip to main content

Introduction

Purpose​

Based on the module specification (in particular the introduction and the project specification), this guide presents the practical steps for building a DevOps environment for iAP user module development. It covers two CI platforms: GitHub Actions, and GitLab + Jenkins.

The intended audience is as follows.

  • Module projects created with VSCode + Accel CLI
  • Teams that want to automate CI with GitHub Actions or GitLab + Jenkins
  • Teams that want to generate release artifacts (zip) reproducibly

Prerequisites to Take from the Module Specification​

From the Module Reference, the prerequisites you cannot leave out when designing CI/CD are as follows.

  • A module is a "cohesive unit of functionality", and it is developed and installed as a unit
  • A project assumes the separation of src/main / src/test / src/sample by purpose
  • module.xml is the core metadata that expresses module identification and dependency information
  • The Maven build (executed internally by bun run build) makes target/*.zip the module artifact
  • settings.xml is used to reference the intra-mart repository and Maven Central

For this reason, DevOps automates at least the following.

  • Consistency checks of the configuration, including module.xml
  • Reproducible builds with Maven/Bun
  • Artifact retention of target/*.zip
  • Turning a tag into a release (optional)

Page Structure​