やりたいこと
Ansibleのドキュメントの表示確認をローカルで行う方法です。
前提条件
今回はDockerを使用します。
概要
- Docker環境を作成
- Docker内でドキュメント生成
- ブラウザで表示確認
手順
1. Docker環境の作成
以下のDockerfileを使用します。 pythonは2.7を使用しています(3にしたい)。
FROM httpd:2.4-alpine
RUN apk add --update \
git \
make \
python \
py-pip
RUN pip install \
jinja2 \
PyYAML \
six \
sphinx
ポイントは以下の通り。
http:2.4-alpine
をベースにする- Docker内で構築するため、HTTPサーバが必要
- 後からHTTPサーバを構築するのは面倒なのでベースを
http:*
にする。
- Pythonのモジュールはpipで入れる
- rpmやdebで入れるとsphinxのバージョンが古くて動かなかった
2. Docker内でドキュメント生成
まずDocker環境を起動します。ポートを8000番に割り当てています。
# ビルド
docker build -t ansible-docs .
# 実行(httpdが動くので別タブで作業)
docker run -it --rm \
--name ansible-docs \
-p 8000:80 \
ansible-docs
それから、Docker内に入ります。
docker exec -it ansible-docs /bin/bash
ビルドを行います。手順は以下の公式ドキュメントを参考にしました。
make webdocs
は結構長いです。
MODULE_NAME=モジュール名
cd /usr/local/apache2/htdocs
git clone --depth 1 https://github.com/ansible/ansible.git
cd ansible/docs/docsite
MODULES=${MODULE_NAME} make webdocs
3. ブラウザで動作確認
以下のURLでアクセス可能です。
http://localhost:8000/ansible/docs/docsite/_build/html/modules/