部署指南¶
从 Newton 版本开始,已经实施了一种发布部署指南的新方法。这允许每个部署项目基于标准模板在其自己的仓库中创建自己的部署指南。然后,这些指南将集中发布到 部署指南。
注意
这种设置旨在让部署项目公开他们的安装信息。这不包括针对最终用户的进一步内容。例如,配置内容、故障排除或管理程序。
如果您想将用户引导至更多内容,请在指南中使用交叉引用链接到您的开发者文档。
设置¶
安装
cookiecutter# pip install cookiecutter
运行安装指南 cookiecutter 以创建项目的骨架
重要提示
安装指南 cookiecutter 也用于部署指南。但是,其余说明特定于部署指南的创建。
$ cookiecutter https://opendev.org/openstack/installguide-cookiecutter.git --checkout HEAD^1
系统将提示您回答问题以完成安装。然后,内容将添加到项目仓库顶层目录中的
deploy-guide目录中。为
deploy-guide在您的项目仓库中创建一个tox.ini环境,使用以下内容[testenv:deploy-guide] whitelist_externals = rm commands = rm -rf deploy-guide/build sphinx-build -a -E -W -d deploy-guide/build/doctrees -b html deploy-guide/source deploy-guide/build/html
添加您的部署指南内容,并使用
tox在本地测试构建$ tox -e deploy-guide
本地构建位于
deploy-guide/build/html中。将 Python 包
openstackdocstheme添加到test-requirements.txt文件中。从 全局文件 复制确切的依赖项行openstackdocstheme>=1.5.0 # Apache-2.0
提交对项目仓库的更改以供审核。
在这些更改合并后,您可以在 OpenStack Infra project-config 仓库中设置构建作业
克隆 project-config 仓库
$ git clone https://opendev.org/openstack/project-config
在
jenkins/jobs/projects.yaml中,将deploy-guide-jobs添加到您的项目条目中- project: name: <project-name> jobs: ... - deploy-guide-jobs: service: <service-name>
project-name和service-name是项目名称和特定服务名称。一个例子是 heat 的 orchestration。这使用 JJB
deploy-guide-jobs作业模板定义了作业。在
zuul/layout.yaml中,找到您的项目条目并添加deploy-guide-jobs模板- name: openstack/<project-name> template: - name: deploy-guide-jobs
这将安排部署指南作业。
提交对 infra 仓库的更改以供审核。
要使用指向您的部署指南的链接更新主索引页面,请参阅 模板生成器详情。
部署指南和安装指南链接¶
如果您的部署指南或安装指南与您的常规文档之间存在链接,则需要格外小心以确保链接有效。任何指向您旧安装指南的链接现在都将指向空链接。
我们建议在您的仓库中为文档链接添加条件分支名称。以这种方式生成的文档将始终指向实时 URL,而不是为 gate 作业生成的 HTML。
链接生成是通过 sphinx.ext.extlinks 扩展完成的,允许定义自定义链接生成角色。这实现了所需的动态链接构建行为,但会改变标准链接约定。
部署指南的使用方法如下
:deploy_guide:`Link title text <last-part-of-url.html>`
有关示例和更多信息,请查看以下 OpenStack-Ansible 补丁:为文档链接添加条件分支名称