部署指南

从 Newton 版本开始,已经实施了一种发布部署指南的新方法。这允许每个部署项目基于标准模板在其自己的仓库中创建自己的部署指南。然后,这些指南将集中发布到 部署指南

注意

这种设置旨在让部署项目公开他们的安装信息。这不包括针对最终用户的进一步内容。例如,配置内容、故障排除或管理程序。

如果您想将用户引导至更多内容,请在指南中使用交叉引用链接到您的开发者文档。

设置

  1. 安装 cookiecutter

    # pip install cookiecutter
    
  2. 运行安装指南 cookiecutter 以创建项目的骨架

    重要提示

    安装指南 cookiecutter 也用于部署指南。但是,其余说明特定于部署指南的创建。

    $ cookiecutter https://opendev.org/openstack/installguide-cookiecutter.git --checkout HEAD^1
    

    系统将提示您回答问题以完成安装。然后,内容将添加到项目仓库顶层目录中的 deploy-guide 目录中。

  3. 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
    
  4. 添加您的部署指南内容,并使用 tox 在本地测试构建

    $ tox -e deploy-guide
    

    本地构建位于 deploy-guide/build/html 中。

  5. 将 Python 包 openstackdocstheme 添加到 test-requirements.txt 文件中。从 全局文件 复制确切的依赖项行

    openstackdocstheme>=1.5.0  # Apache-2.0
    
  6. 提交对项目仓库的更改以供审核。

在这些更改合并后,您可以在 OpenStack Infra project-config 仓库中设置构建作业

  1. 克隆 project-config 仓库

    $ git clone https://opendev.org/openstack/project-config
    
  2. jenkins/jobs/projects.yaml 中,将 deploy-guide-jobs 添加到您的项目条目中

    - project:
      name: <project-name>
    
      jobs:
      ...
       - deploy-guide-jobs:
           service: <service-name>
    

    project-nameservice-name 是项目名称和特定服务名称。一个例子是 heat 的 orchestration。

    这使用 JJB deploy-guide-jobs 作业模板定义了作业。

  3. zuul/layout.yaml 中,找到您的项目条目并添加 deploy-guide-jobs 模板

    - name: openstack/<project-name>
      template:
        - name: deploy-guide-jobs
    

    这将安排部署指南作业。

  4. 提交对 infra 仓库的更改以供审核。

要使用指向您的部署指南的链接更新主索引页面,请参阅 模板生成器详情