Documentation CI and Automated Publishing
Documentation CI checks changes to documentation whenever contributors submit them. Automated publishing builds and delivers the reviewed pages from a chosen branch or release, so readers see a consistent site without someone uploading files by hand.
itTechnical communication and collaboration | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic: Documentation CI and Automated Publishing
Documentation does not become reliable because somebody put Markdown in Git. The useful change is a documentation pipeline: source files enter, checked pages come out, and only approved pages reach the site. The source is what people edit. The rendered site is the output, much as a compiled program is output from code. Editing that output by hand is a good way to have your work disappear at the next build.
There are two journeys through this pipeline. A proposed change travels through validation. A runner checks the source, builds the pages, and reports what happened. A reviewer can inspect a rendered preview and decide whether the words and examples are correct. The approved change travels through publishing. A job delivers the built pages to a host. These journeys may use the same repository, but they have different permissions. A draft should not need the credentials that can replace the live site.
A green check is reassuring in exactly the way a completed checklist is reassuring: it tells you what was checked. A strict build can complain about a missing navigation target. A prose linter can find a word that breaks a style rule. A link checker can detect an unreachable destination. None of them can tell you that the destination explains the right concept or that the example command actually solves the reader's problem. That is where a human review earns its chair.
The output also has a history. A build artifact is the rendered site produced from a source revision, configuration, and tool versions. If the publishing job uses different tool versions from the validation job, the public pages may differ from the pages reviewers saw. Record those inputs or carry the tested artifact into deployment. Then record which source revision the host serves. A successful deploy log is less comforting when the live URL still shows yesterday's navigation.
Several services can handle parts of the journey. A generator such as MkDocs or Docusaurus creates the static pages. GitHub Pages or GitLab Pages can serve them from repository automation. Read the Docs can manage the build and upload from a connected repository. Netlify can expose a pull request preview. The arrangement matters less than knowing which stage checks, which stage publishes, and who can trigger each one.
If the pipeline fails, locate the stage first. No run suggests a trigger problem. A failed build suggests source, configuration, or dependency trouble. A good build with a bad preview points toward rendering or path settings. A good deploy with stale pages points toward the publishing target or host. The Cheatsheet maps those signals; the Practice Reference helps define a release contract. Use the Exercise to watch a strict build reject a broken page before a publishing job ever enters the picture.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site
Supports
- Branch and custom workflow publishing, artifact handoff, and deployment branch protection
- Pull request validation without deploy
- https://docs.github.com/en/pages/getting-started-with-github-pages/using-custom-workflows-with-github-pages
Supports
- Pages artifact upload and deploy job permissions
- https://docs.github.com/en/actions/reference/security/securely-using-pull_request_target
Supports
- Least-privilege tokens and risk of running untrusted pull request code with secrets
- https://docs.gitlab.com/user/project/pages/getting_started/pages_from_scratch/
Supports
- GitLab CI Pages job and publish directory
- https://docs.readthedocs.com/platform/stable/builds.html
Supports
- Hosted checkout, install, build, and upload stages
- Revision-linked builds
- https://docs.readthedocs.com/platform/stable/guides/pull-requests.html
Supports
- Pull request builds and preview privacy
- https://docs.readthedocs.com/platform/latest/guides/reproducible-builds.html
Supports
- Declared build tool and dependency versions
- https://www.mkdocs.org/user-guide/cli/
Supports
- Strict build command and warning behavior
- https://www.mkdocs.org/user-guide/deploying-your-docs/
Supports
- gh-deploy behavior and untracked output caveat
- https://www.docusaurus.io/docs/deployment
Supports
- Static build output, path prefix configuration, and separated test and deploy workflow
- https://docs.netlify.com/deploy/deploy-types/deploy-previews/
Supports
- Pull request Deploy Previews
- https://github.com/testthedocs/awesome-docs
Supports
- Discovery of Vale, lychee, and MkDocs for Awesome Links
- https://vale.sh/
Supports
- Markup-aware configurable prose linting
- https://lychee.cli.rs/
Supports
- Link checker purpose and documentation
- https://www.mkdocs.org/
Supports
- Markdown static site generator role
- https://pypi.org/project/mkdocs/1.6.1/
Supports
- Reproducible exercise installation of the named MkDocs release
- https://gitbook.com/docs/getting-started/quickstart
Supports
- Git Sync, pull request previews, and merge-triggered site updates
- https://mintlify.com/docs/quickstart
Supports
- Repository integration and automated documentation deployment
