{"id":19848,"date":"2020-08-06T06:24:57","date_gmt":"2020-08-06T04:24:57","guid":{"rendered":"https:\/\/orcharhino.com\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/"},"modified":"2026-08-04T14:39:10","modified_gmt":"2026-08-04T12:39:10","slug":"docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline","status":"publish","type":"post","link":"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/","title":{"rendered":"DocOps at ATIX \u2013 the build stage: Adding \u201amake html\u2018 for our style guide to our Documentation Gitlab Pipeline"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>This short blog series will explain how we automatically test, build, and deploy documentation mostly using vim, git, sphinx, docker, and gitlab. This blog article describes how to use \u201amake html\u2018 and add this make target for our style guide to our internal Gitlab pipeline.<\/em><\/p>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\t\t<div data-elementor-type=\"container\" data-elementor-id=\"30292\" class=\"elementor elementor-30292 elementor-30285\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t<div class=\"elementor-element elementor-element-34d1a11 e-flex e-con-boxed e-con e-parent\" data-id=\"34d1a11\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-8ef645c e-con-full e-flex e-con e-child\" data-id=\"8ef645c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8a11360 dce_masking-none elementor-widget elementor-widget-image\" data-id=\"8a11360\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/orcharhino.com\/en\/solutions\/digital-sovereignty\/whitepaper-digital-sovereignty-in-the-it-infrastructure\/?utm_medium=blog_in-content_01\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/orcharhino.com\/wp-content\/smush-webp\/elementor\/thumbs\/img_whitepaper_digital_sovereignty-rk0m3y4axo3zvj0lmoj9wwxvvdg1a89fqno4dft9b0.png.webp\" title=\"img_whitepaper_digital_sovereignty\" alt=\"img_whitepaper_digital_sovereignty\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f84a375 e-con-full e-flex e-con e-child\" data-id=\"f84a375\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e7bb13b elementor-widget elementor-widget-text-editor\" data-id=\"e7bb13b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>Who controls your IT &#8211; you or your dependencies?<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-387deb8 elementor-widget elementor-widget-text-editor\" data-id=\"387deb8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Read the free white paper to find out how to identify critical dependencies, make your infrastructure resilient and regain full control over operations, updates and automation.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5688a81 elementor-widget elementor-widget-text-editor\" data-id=\"5688a81\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"662\" data-end=\"696\"><a href=\"https:\/\/orcharhino.com\/en\/solutions\/digital-sovereignty\/whitepaper-digital-sovereignty-in-the-it-infrastructure\/?utm_medium=blog_in-content_01\" target=\"_blank\" rel=\"noopener\"><strong data-start=\"662\" data-end=\"696\">Download whitepaper now<\/strong><\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The following is added to the .gitlab-ci.yml to what was shown in the&nbsp;<a href=\"https:\/\/orcharhino.com\/ressourcen\/blog\/docops-at-atix-automatically-building-documentation-using-gitlab-pipelines-and-sphinx\">first article<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>---\n.build:\nextends: .build_image\nstage: build\nbuild:website:\nextends: .build\nscript:\n- make docs_orcharhino_com 2&gt; &gt;(tee errors.txt)\n- cat errors.txt\n- '&#091;&#091; $(wc -l &lt; \"errors.txt\") -le 0 ]]' - tar -czf docs_orcharhino_com.tar.gz -C _build\/docs_orcharhino_com\/html . artifacts: paths: - docs_orcharhino_com.tar.gz expire_in: \"1 day\" build:html: extends: .build script: - make html 2&gt; &gt;(tee errors.txt)\n- cat errors.txt\n- sed -i \"\/${ACCEPTED_WARNING}\/d\" errors.txt\n- '&#091;&#091; $(wc -l &lt; \"errors.txt\") -le 0 ]]' - tar -czf or_bundled_html_docs.tar.gz -C _build\/html . artifacts: paths: - or_bundled_html_docs.tar.gz expire_in: \"1 day\" build:pdf: extends: .build script: - make latexpdf 2&gt; &gt;(tee errors.txt)\n- cat errors.txt\n- grep WARNING errors.txt &gt; sphinx_errors.txt\n- sed -i \"\/${ACCEPTED_WARNING}\/d\" sphinx_errors.txt\n- '&#091;&#091; $(wc -l &lt; \"sphinx_errors.txt\") -le 0 ]]'\n- mv _build\/latex\/orcharhino.pdf orcharhino_admin_guide.pdf\nartifacts:\npaths:\n- orcharhino_admin_guide.pdf\nexpire_in: \"1 day\"\n...<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<code>build<\/code>&nbsp;stage extends our&nbsp;<code>.build_image<\/code>&nbsp;stage.<br>It has three jobs: building our website, our bundled html, and our pdf version.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<code>website<\/code>&nbsp;job simply runs the make target&nbsp;<code>docs_orcharhino_com<\/code>&nbsp;that has been added to our makefile.<br>Then, it again displays the errors and counts its lines.<br>It exits with&nbsp;<code>'0'<\/code>&nbsp;if there are no errors and with&nbsp;<code>'1'<\/code>&nbsp;if there\u2019s been one or more errors.<br>It then creates a&nbsp;<code>.tar.gz<\/code>&nbsp;file called&nbsp;<code>docs_orcharhino_com.tar.gz<\/code>&nbsp;containing the output stored in&nbsp;<code>_build\/docs_orcharhino_com\/html<\/code>&nbsp;and saves it in the current directory&nbsp;<code>'.'<\/code>.<br>The output is declared a Gitlab artifact and discarded after one day.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<code>html<\/code>&nbsp;job simply adds a step to remove the error as discussed earlier but is nevertheless very much identical to the first job.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<code>pdf<\/code>&nbsp;job also removes the accepted error.<br>It does not create a&nbsp;<code>.tar.gz<\/code>&nbsp;file but simply moves the build artifact from&nbsp;<code>_build\/latex\/orcharhino.pdf<\/code>&nbsp;to the current directory as&nbsp;<code>orcharhino_admin_guide.pdf<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Disclaimer: We never ever do this.<br>Because why would we when we can simply have it deployed automatically?!<br>We really do love automation here at&nbsp;<a href=\"https:\/\/atix.de\/\">ATIX<\/a>.&nbsp;<br>Stay tuned for our third and last installment of this series.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now, we want to also build our style guide which is located in our git repository under&nbsp;<code>style_guide\/<\/code>&nbsp;with each run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>---\nbuild:style_guide:\n  extends: .build\n  script:\n    - cd style_guide\/\n    - make html 2&gt; &gt;(tee errors.txt)\n    - cat errors.txt\n    - '&#091;&#091; $(wc -l &lt; \"errors.txt\") -le 0 ]]'\n    - tar -czf style_guide_html_docs.tar.gz -C _build\/html .\n  artifacts:\n    paths:\n      - style_guide\/style_guide_html_docs.tar.gz\n    expire_in: \"1 day\"\n...\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This job is pretty much identical to our&nbsp;<code>html<\/code>&nbsp;job with two basic differences:<br>We change the working directory to&nbsp;<code>style_guide\/<\/code>&nbsp;in the first step of the script and adapt the file names.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This job results in identical artifacts as the&nbsp;<code>html<\/code>&nbsp;job which will be deployed in our next blog article.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/orcharhino.com\/wp-content\/uploads\/2020\/07\/blog_gitlab_pipeline_2_gitlab_save_build_artifact.png\"><img decoding=\"async\" src=\"https:\/\/orcharhino.com\/wp-content\/smush-webp\/2020\/07\/blog_gitlab_pipeline_2_gitlab_save_build_artifact-1030x664.png.webp\" alt=\"\"\/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>This short blog series will explain how we automatically test, build, and deploy documentation mostly using vim, git, sphinx, docker, and gitlab. This blog article describes how to use \u201amake html\u2018 and add this make target for our style guide to our internal Gitlab pipeline. The following is added to the .gitlab-ci.yml to what was [&hellip;]<\/p>\n","protected":false},"author":1095,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[104],"tags":[],"pillars":[],"rolle":[],"use-case-kategorie":[],"class_list":["post-19848","post","type-post","status-publish","format-standard","hentry","category-blog-en"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.6 (Yoast SEO v28.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>DocOps Part 2: GitLab CI Build Stage &amp; Sphinx | orcharhino<\/title>\n<meta name=\"description\" content=\"Part 2 of our DocOps series: how ATIX builds HTML, PDF and style guide docs with make and Sphinx in a GitLab CI pipeline. With sample .gitlab-ci.yml.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DocOps at ATIX \u2013 the build stage: Adding \u201amake html\u2018 for our style guide to our Documentation Gitlab Pipeline\" \/>\n<meta property=\"og:description\" content=\"Part 2 of our DocOps series: how ATIX builds HTML, PDF and style guide docs with make and Sphinx in a GitLab CI pipeline. With sample .gitlab-ci.yml.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/\" \/>\n<meta property=\"og:site_name\" content=\"orcharhino\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ATIXDE\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-06T04:24:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-04T12:39:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/orcharhino.com\/wp-content\/smush-webp\/2020\/07\/blog_gitlab_pipeline_2_gitlab_save_build_artifact-1030x664.png.webp\" \/>\n<meta name=\"author\" content=\"Dev Medienstuermer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@orcharhino\" \/>\n<meta name=\"twitter:site\" content=\"@orcharhino\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dev Medienstuermer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/resources\\\/blog\\\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/resources\\\/blog\\\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\\\/\"},\"author\":{\"name\":\"Dev Medienstuermer\",\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/#\\\/schema\\\/person\\\/7d02c0c1f109e932aec93630ecf98238\"},\"headline\":\"DocOps at ATIX \u2013 the build stage: Adding \u201amake html\u2018 for our style guide to our Documentation Gitlab Pipeline\",\"datePublished\":\"2020-08-06T04:24:57+00:00\",\"dateModified\":\"2026-08-04T12:39:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/resources\\\/blog\\\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\\\/\"},\"wordCount\":363,\"publisher\":{\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/resources\\\/blog\\\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/orcharhino.com\\\/wp-content\\\/smush-webp\\\/2020\\\/07\\\/blog_gitlab_pipeline_2_gitlab_save_build_artifact-1030x664.png.webp\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/resources\\\/blog\\\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\\\/\",\"url\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/resources\\\/blog\\\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\\\/\",\"name\":\"DocOps Part 2: GitLab CI Build Stage & Sphinx | orcharhino\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/resources\\\/blog\\\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/resources\\\/blog\\\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/orcharhino.com\\\/wp-content\\\/smush-webp\\\/2020\\\/07\\\/blog_gitlab_pipeline_2_gitlab_save_build_artifact-1030x664.png.webp\",\"datePublished\":\"2020-08-06T04:24:57+00:00\",\"dateModified\":\"2026-08-04T12:39:10+00:00\",\"description\":\"Part 2 of our DocOps series: how ATIX builds HTML, PDF and style guide docs with make and Sphinx in a GitLab CI pipeline. With sample .gitlab-ci.yml.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/resources\\\/blog\\\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/orcharhino.com\\\/en\\\/resources\\\/blog\\\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/resources\\\/blog\\\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/orcharhino.com\\\/wp-content\\\/smush-webp\\\/2020\\\/07\\\/blog_gitlab_pipeline_2_gitlab_save_build_artifact-1030x664.png.webp\",\"contentUrl\":\"https:\\\/\\\/orcharhino.com\\\/wp-content\\\/smush-webp\\\/2020\\\/07\\\/blog_gitlab_pipeline_2_gitlab_save_build_artifact-1030x664.png.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/resources\\\/blog\\\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"orcharhino\",\"item\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/startseite-neu\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DocOps at ATIX \u2013 the build stage: Adding \u201amake html\u2018 for our style guide to our Documentation Gitlab Pipeline\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/\",\"name\":\"orcharhino\",\"description\":\"one tool to rule them all\",\"publisher\":{\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/#organization\",\"name\":\"orcharhino\",\"url\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/orcharhino.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/orcharhino_mask.svg\",\"contentUrl\":\"https:\\\/\\\/orcharhino.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/orcharhino_mask.svg\",\"width\":508,\"height\":508,\"caption\":\"orcharhino\"},\"image\":{\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/ATIXDE\\\/\",\"https:\\\/\\\/x.com\\\/orcharhino\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/atix-ag\\\/\"],\"description\":\"orcharhino erm\u00f6glicht das automatisierte Deployment \u00fcber alle Betriebssysteme hinweg und die anschlie\u00dfende Verwaltung der Systeme mit Release- und Patch Management. Die Infrastruktur l\u00e4sst sich dabei eng entlang der eigenen Bed\u00fcrfnisse ausrichten. IT-Organisationen profitieren insbesondere von der Technologie- und Herstellerunabh\u00e4ngigkeit sowie von st\u00e4ndig aktualisierten Sicherheitsupdates. orcharhino ist als Open-Source-L\u00f6sung f\u00fcr Unternehmen besonders flexibel und unbegrenzt skalierbar, unabh\u00e4ngig von der Gr\u00f6\u00dfe der Infrastruktur oder der Anzahl der Devices \u2013 egal ob lokal oder global, in der Cloud oder On-Premises.\",\"email\":\"info@atix.de\",\"telephone\":\"+49 89 4523538-0\",\"legalName\":\"ATIX Informationstechnologie und Consulting AG\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/orcharhino.com\\\/en\\\/#\\\/schema\\\/person\\\/7d02c0c1f109e932aec93630ecf98238\",\"name\":\"Dev Medienstuermer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a23619ea28283064311a0d1fe283044ac4eecabc19235c5c77dc62e2c5565de4?s=96&d=blank&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a23619ea28283064311a0d1fe283044ac4eecabc19235c5c77dc62e2c5565de4?s=96&d=blank&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a23619ea28283064311a0d1fe283044ac4eecabc19235c5c77dc62e2c5565de4?s=96&d=blank&r=g\",\"caption\":\"Dev Medienstuermer\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"DocOps Part 2: GitLab CI Build Stage & Sphinx | orcharhino","description":"Part 2 of our DocOps series: how ATIX builds HTML, PDF and style guide docs with make and Sphinx in a GitLab CI pipeline. With sample .gitlab-ci.yml.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/","og_locale":"en_US","og_type":"article","og_title":"DocOps at ATIX \u2013 the build stage: Adding \u201amake html\u2018 for our style guide to our Documentation Gitlab Pipeline","og_description":"Part 2 of our DocOps series: how ATIX builds HTML, PDF and style guide docs with make and Sphinx in a GitLab CI pipeline. With sample .gitlab-ci.yml.","og_url":"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/","og_site_name":"orcharhino","article_publisher":"https:\/\/www.facebook.com\/ATIXDE\/","article_published_time":"2020-08-06T04:24:57+00:00","article_modified_time":"2026-08-04T12:39:10+00:00","og_image":[{"url":"https:\/\/orcharhino.com\/wp-content\/smush-webp\/2020\/07\/blog_gitlab_pipeline_2_gitlab_save_build_artifact-1030x664.png.webp","type":"","width":"","height":""}],"author":"Dev Medienstuermer","twitter_card":"summary_large_image","twitter_creator":"@orcharhino","twitter_site":"@orcharhino","twitter_misc":{"Written by":"Dev Medienstuermer","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/#article","isPartOf":{"@id":"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/"},"author":{"name":"Dev Medienstuermer","@id":"https:\/\/orcharhino.com\/en\/#\/schema\/person\/7d02c0c1f109e932aec93630ecf98238"},"headline":"DocOps at ATIX \u2013 the build stage: Adding \u201amake html\u2018 for our style guide to our Documentation Gitlab Pipeline","datePublished":"2020-08-06T04:24:57+00:00","dateModified":"2026-08-04T12:39:10+00:00","mainEntityOfPage":{"@id":"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/"},"wordCount":363,"publisher":{"@id":"https:\/\/orcharhino.com\/en\/#organization"},"image":{"@id":"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/#primaryimage"},"thumbnailUrl":"https:\/\/orcharhino.com\/wp-content\/smush-webp\/2020\/07\/blog_gitlab_pipeline_2_gitlab_save_build_artifact-1030x664.png.webp","articleSection":["Blog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/","url":"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/","name":"DocOps Part 2: GitLab CI Build Stage & Sphinx | orcharhino","isPartOf":{"@id":"https:\/\/orcharhino.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/#primaryimage"},"image":{"@id":"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/#primaryimage"},"thumbnailUrl":"https:\/\/orcharhino.com\/wp-content\/smush-webp\/2020\/07\/blog_gitlab_pipeline_2_gitlab_save_build_artifact-1030x664.png.webp","datePublished":"2020-08-06T04:24:57+00:00","dateModified":"2026-08-04T12:39:10+00:00","description":"Part 2 of our DocOps series: how ATIX builds HTML, PDF and style guide docs with make and Sphinx in a GitLab CI pipeline. With sample .gitlab-ci.yml.","breadcrumb":{"@id":"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/#primaryimage","url":"https:\/\/orcharhino.com\/wp-content\/smush-webp\/2020\/07\/blog_gitlab_pipeline_2_gitlab_save_build_artifact-1030x664.png.webp","contentUrl":"https:\/\/orcharhino.com\/wp-content\/smush-webp\/2020\/07\/blog_gitlab_pipeline_2_gitlab_save_build_artifact-1030x664.png.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/orcharhino.com\/en\/resources\/blog\/docops-at-atix-the-build-stage-adding-make-html-for-our-style-guide-to-our-documentation-gitlab-pipeline-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"orcharhino","item":"https:\/\/orcharhino.com\/en\/startseite-neu\/"},{"@type":"ListItem","position":2,"name":"DocOps at ATIX \u2013 the build stage: Adding \u201amake html\u2018 for our style guide to our Documentation Gitlab Pipeline"}]},{"@type":"WebSite","@id":"https:\/\/orcharhino.com\/en\/#website","url":"https:\/\/orcharhino.com\/en\/","name":"orcharhino","description":"one tool to rule them all","publisher":{"@id":"https:\/\/orcharhino.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/orcharhino.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/orcharhino.com\/en\/#organization","name":"orcharhino","url":"https:\/\/orcharhino.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/orcharhino.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/orcharhino.com\/wp-content\/uploads\/2024\/12\/orcharhino_mask.svg","contentUrl":"https:\/\/orcharhino.com\/wp-content\/uploads\/2024\/12\/orcharhino_mask.svg","width":508,"height":508,"caption":"orcharhino"},"image":{"@id":"https:\/\/orcharhino.com\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ATIXDE\/","https:\/\/x.com\/orcharhino","https:\/\/www.linkedin.com\/company\/atix-ag\/"],"description":"orcharhino erm\u00f6glicht das automatisierte Deployment \u00fcber alle Betriebssysteme hinweg und die anschlie\u00dfende Verwaltung der Systeme mit Release- und Patch Management. Die Infrastruktur l\u00e4sst sich dabei eng entlang der eigenen Bed\u00fcrfnisse ausrichten. IT-Organisationen profitieren insbesondere von der Technologie- und Herstellerunabh\u00e4ngigkeit sowie von st\u00e4ndig aktualisierten Sicherheitsupdates. orcharhino ist als Open-Source-L\u00f6sung f\u00fcr Unternehmen besonders flexibel und unbegrenzt skalierbar, unabh\u00e4ngig von der Gr\u00f6\u00dfe der Infrastruktur oder der Anzahl der Devices \u2013 egal ob lokal oder global, in der Cloud oder On-Premises.","email":"info@atix.de","telephone":"+49 89 4523538-0","legalName":"ATIX Informationstechnologie und Consulting AG"},{"@type":"Person","@id":"https:\/\/orcharhino.com\/en\/#\/schema\/person\/7d02c0c1f109e932aec93630ecf98238","name":"Dev Medienstuermer","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a23619ea28283064311a0d1fe283044ac4eecabc19235c5c77dc62e2c5565de4?s=96&d=blank&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a23619ea28283064311a0d1fe283044ac4eecabc19235c5c77dc62e2c5565de4?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a23619ea28283064311a0d1fe283044ac4eecabc19235c5c77dc62e2c5565de4?s=96&d=blank&r=g","caption":"Dev Medienstuermer"}}]}},"permalink_manager":null,"_links":{"self":[{"href":"https:\/\/orcharhino.com\/en\/wp-json\/wp\/v2\/posts\/19848","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/orcharhino.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/orcharhino.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/orcharhino.com\/en\/wp-json\/wp\/v2\/users\/1095"}],"replies":[{"embeddable":true,"href":"https:\/\/orcharhino.com\/en\/wp-json\/wp\/v2\/comments?post=19848"}],"version-history":[{"count":10,"href":"https:\/\/orcharhino.com\/en\/wp-json\/wp\/v2\/posts\/19848\/revisions"}],"predecessor-version":[{"id":30376,"href":"https:\/\/orcharhino.com\/en\/wp-json\/wp\/v2\/posts\/19848\/revisions\/30376"}],"wp:attachment":[{"href":"https:\/\/orcharhino.com\/en\/wp-json\/wp\/v2\/media?parent=19848"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orcharhino.com\/en\/wp-json\/wp\/v2\/categories?post=19848"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orcharhino.com\/en\/wp-json\/wp\/v2\/tags?post=19848"},{"taxonomy":"pillars","embeddable":true,"href":"https:\/\/orcharhino.com\/en\/wp-json\/wp\/v2\/pillars?post=19848"},{"taxonomy":"rolle","embeddable":true,"href":"https:\/\/orcharhino.com\/en\/wp-json\/wp\/v2\/rolle?post=19848"},{"taxonomy":"use-case-kategorie","embeddable":true,"href":"https:\/\/orcharhino.com\/en\/wp-json\/wp\/v2\/use-case-kategorie?post=19848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}