Integrating an external DMS into pipeline

You may be required to archive documents in a specific DMS system.

  • Use Git branches to differentiate draft and release content. We build the develop branch as a GitLab page for internal access and collaboration. We then use the a .post pipeline job to send main branch content to an external DMS.
  • This approach allows us to integrate any DMS at any time whilst ensuring a robust version control. This reduces the burden of migrating documents down the line into other systems.

Example

release:
  stage: .post
  needs: ["html", "pdf"]
  before_script:
    - DOC=$(cat _build/main/_static/DOC.txt)
    - VERSION=$(cat _build/main/_static/VERSION.txt)
  script:
    # Configure access to DMS
    - checkin
      --authgroup default
      --docid $DOC
      --type ./$DOC-$VERSION.zip
      --comment "$CI_COMMIT_MESSAGE [$CI_PROJECT_URL/-/commit/$CI_COMMIT_SHORT_SHA]
      SHA=$CI_COMMIT_SHA."
      --version_info "$VERSION"
  only:
    - main