mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-30 05:14:54 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			150 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			150 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| <!-- BEGIN MUNGE: UNVERSIONED_WARNING -->
 | |
| 
 | |
| <!-- BEGIN STRIP_FOR_RELEASE -->
 | |
| 
 | |
| <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
 | |
|      width="25" height="25">
 | |
| <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
 | |
|      width="25" height="25">
 | |
| <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
 | |
|      width="25" height="25">
 | |
| <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
 | |
|      width="25" height="25">
 | |
| <img src="http://kubernetes.io/img/warning.png" alt="WARNING"
 | |
|      width="25" height="25">
 | |
| 
 | |
| <h2>PLEASE NOTE: This document applies to the HEAD of the source tree</h2>
 | |
| 
 | |
| If you are using a released version of Kubernetes, you should
 | |
| refer to the docs that go with that version.
 | |
| 
 | |
| <!-- TAG RELEASE_LINK, added by the munger automatically -->
 | |
| <strong>
 | |
| The latest release of this document can be found
 | |
| [here](http://releases.k8s.io/release-1.2/docs/devel/update-release-docs.md).
 | |
| 
 | |
| Documentation for other releases can be found at
 | |
| [releases.k8s.io](http://releases.k8s.io).
 | |
| </strong>
 | |
| --
 | |
| 
 | |
| <!-- END STRIP_FOR_RELEASE -->
 | |
| 
 | |
| <!-- END MUNGE: UNVERSIONED_WARNING -->
 | |
| 
 | |
| # Table of Contents
 | |
| 
 | |
| <!-- BEGIN MUNGE: GENERATED_TOC -->
 | |
| 
 | |
| - [Table of Contents](#table-of-contents)
 | |
| - [Overview](#overview)
 | |
| - [Adding a new docs collection for a release](#adding-a-new-docs-collection-for-a-release)
 | |
| - [Updating docs in an existing collection](#updating-docs-in-an-existing-collection)
 | |
|   - [Updating docs on HEAD](#updating-docs-on-head)
 | |
|   - [Updating docs in release branch](#updating-docs-in-release-branch)
 | |
|   - [Updating docs in gh-pages branch](#updating-docs-in-gh-pages-branch)
 | |
| 
 | |
| <!-- END MUNGE: GENERATED_TOC -->
 | |
| 
 | |
| # Overview
 | |
| 
 | |
| This document explains how to update kubernetes release docs hosted at http://kubernetes.io/docs/.
 | |
| 
 | |
| http://kubernetes.io is served using the [gh-pages
 | |
| branch](https://github.com/kubernetes/kubernetes/tree/gh-pages) of kubernetes repo on github.
 | |
| Updating docs in that branch will update http://kubernetes.io
 | |
| 
 | |
| There are 2 scenarios which require updating docs:
 | |
| * Adding a new docs collection for a release.
 | |
| * Updating docs in an existing collection.
 | |
| 
 | |
| # Adding a new docs collection for a release
 | |
| 
 | |
| Whenever a new release series (`release-X.Y`) is cut from `master`, we push the
 | |
| corresponding set of docs to `http://kubernetes.io/vX.Y/docs`. The steps are as follows:
 | |
| 
 | |
| * Create a `_vX.Y` folder in `gh-pages` branch.
 | |
| * Add `vX.Y` as a valid collection in [_config.yml](https://github.com/kubernetes/kubernetes/blob/gh-pages/_config.yml)
 | |
| * Create a new `_includes/nav_vX.Y.html` file with the navigation menu. This can
 | |
|   be a copy of `_includes/nav_vX.Y-1.html` with links to new docs added and links
 | |
|   to deleted docs removed. Update [_layouts/docwithnav.html]
 | |
|   (https://github.com/kubernetes/kubernetes/blob/gh-pages/_layouts/docwithnav.html)
 | |
|   to include this new navigation html file. Example PR: [#16143](https://github.com/kubernetes/kubernetes/pull/16143).
 | |
| * [Pull docs from release branch](#updating-docs-in-gh-pages-branch) in `_vX.Y`
 | |
|   folder.
 | |
| 
 | |
| Once these changes have been submitted, you should be able to reach the docs at
 | |
| `http://kubernetes.io/vX.Y/docs/` where you can test them.
 | |
| 
 | |
| To make `X.Y` the default version of docs:
 | |
| 
 | |
| * Update [_config.yml](https://github.com/kubernetes/kubernetes/blob/gh-pages/_config.yml)
 | |
|   and [/kubernetes/kubernetes/blob/gh-pages/_docs/index.md](https://github.com/kubernetes/kubernetes/blob/gh-pages/_docs/index.md)
 | |
|   to point to the new version. Example PR: [#16416](https://github.com/kubernetes/kubernetes/pull/16416).
 | |
| * Update [_includes/docversionselector.html](https://github.com/kubernetes/kubernetes/blob/gh-pages/_includes/docversionselector.html)
 | |
|   to make `vX.Y` the default version.
 | |
| * Add "Disallow: /vX.Y-1/" to existing [robots.txt](https://github.com/kubernetes/kubernetes/blob/gh-pages/robots.txt)
 | |
|   file to hide old content from web crawlers and focus SEO on new docs. Example PR:
 | |
|   [#16388](https://github.com/kubernetes/kubernetes/pull/16388).
 | |
| * Regenerate [sitemaps.xml](https://github.com/kubernetes/kubernetes/blob/gh-pages/sitemap.xml)
 | |
|   so that it now contains `vX.Y` links. Sitemap can be regenerated using
 | |
|   https://www.xml-sitemaps.com. Example PR: [#17126](https://github.com/kubernetes/kubernetes/pull/17126).
 | |
| * Resubmit the updated sitemaps file to [Google
 | |
|   webmasters](https://www.google.com/webmasters/tools/sitemap-list?siteUrl=http://kubernetes.io/) for google to index the new links.
 | |
| * Update [_layouts/docwithnav.html] (https://github.com/kubernetes/kubernetes/blob/gh-pages/_layouts/docwithnav.html)
 | |
|   to include [_includes/archivedocnotice.html](https://github.com/kubernetes/kubernetes/blob/gh-pages/_includes/archivedocnotice.html)
 | |
|   for `vX.Y-1` docs which need to be archived.
 | |
| * Ping @thockin to update docs.k8s.io to redirect to `http://kubernetes.io/vX.Y/`. [#18788](https://github.com/kubernetes/kubernetes/issues/18788).
 | |
| 
 | |
| http://kubernetes.io/docs/ should now be redirecting to `http://kubernetes.io/vX.Y/`.
 | |
| 
 | |
| # Updating docs in an existing collection
 | |
| 
 | |
| The high level steps to update docs in an existing collection are:
 | |
| 
 | |
| 1. Update docs on `HEAD` (master branch)
 | |
| 2. Cherryick the change in relevant release branch.
 | |
| 3. Update docs on `gh-pages`.
 | |
| 
 | |
| ## Updating docs on HEAD
 | |
| 
 | |
| [Development guide](development.md) provides general instructions on how to contribute to kubernetes github repo.
 | |
| [Docs how to guide](how-to-doc.md) provides conventions to follow while writing docs.
 | |
| 
 | |
| ## Updating docs in release branch
 | |
| 
 | |
| Once docs have been updated in the master branch, the changes need to be
 | |
| cherrypicked in the latest release branch.
 | |
| [Cherrypick guide](cherry-picks.md) has more details on how to cherrypick your change.
 | |
| 
 | |
| ## Updating docs in gh-pages branch
 | |
| 
 | |
| Once release branch has all the relevant changes, we can pull in the latest docs
 | |
| in `gh-pages` branch.
 | |
| Run the following 2 commands in `gh-pages` branch to update docs for release `X.Y`:
 | |
| 
 | |
| ```
 | |
| _tools/import_docs vX.Y _vX.Y release-X.Y release-X.Y
 | |
| ```
 | |
| 
 | |
| For ex: to pull in docs for release 1.1, run:
 | |
| 
 | |
| ```
 | |
| _tools/import_docs v1.1 _v1.1 release-1.1 release-1.1
 | |
| ```
 | |
| 
 | |
| Apart from copying over the docs, `_tools/release_docs` also does some post processing
 | |
| (like updating the links to docs to point to http://kubernetes.io/docs/ instead of pointing to github repo).
 | |
| Note that we always pull in the docs from release branch and not from master (pulling docs
 | |
| from master requires some extra processing like versionizing the links and removing unversioned warnings).
 | |
| 
 | |
| We delete all existing docs before pulling in new ones to ensure that deleted
 | |
| docs go away.
 | |
| 
 | |
| If the change added or deleted a doc, then update the corresponding `_includes/nav_vX.Y.html` file as well.
 | |
| 
 | |
| 
 | |
| <!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
 | |
| []()
 | |
| <!-- END MUNGE: GENERATED_ANALYTICS -->
 |