Integrating an external DMS into pipelineYou 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.
```yaml
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
```
We electronically control revisions for this topic and deploy it directly online. Any copies you generate from the latest revision are uncontrolled. Ensure you refer to the latest revision online when possible.
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.