CentOSでPandoc – gitを連動してWordファイルを生成する

寒い日が続いてます。こんばんわ、Web担当です。
皆様体調崩さぬようお気を付けください(自戒

前回Pandocをインストール。今回はMkDocsと同様、gitと連動させてみます。

目標

  • git – Jenkins – Pandocを連動させ、docxファイルを自動生成する。

準備

手順

リポジトリ準備

ローカル環境内のgit clone、sitedocsフォルダにconvert-fromディレクトリを作成します。
現在のSandBox環境だとこのようになりますね。

SandBox
│  mkdocs.yml
└─docs
    │  environment.md
    │  index.md
    │  jenkins_info.md
    │  mkdocs_info.md
    │  otrs_info.md
    └─convert-from

gitの準備

post-updateに1行追加します。
結果以下の通りになるはずです。

Jenkinsの準備

まずキックするシェルを一つ作成します。

vi /opt/git/convert2docx.sh
    #/bin/sh

    for f in $(find /work/$1/ -type d \( -name '.git' -o -name 'convert2docx' \) -prune -o -type f -print) ;do
        fname=${f##*/}
        pandoc $f -o $2/${fname%.*}.docx
    done

新しく1つジョブを作成します。
git – Jenkins – MkDocs連動時の新規ジョブの作成を参考に、以下の設定内容でジョブを作成してください。

  • プロジェクト名: markdown2docx
  • タイプ: フリースタイル・プロジェクト
  • ソースコードの管理
    • git: /opt/git/sitedocs.git
  • ビルド・トリガ: 他プロジェクトの後にビルド
    • SiteDocsを指定
  • ビルド: シェルの実行
    • /opt/git/convert2docx.sh sitedocs /var/www/html/convert2docx

おわりに

出力先がすべて/var/www/html/convert2docxに固定されるあたりなど、少し気に入らない部分もあります。
が公開するファイルであれば一律アップロードフォルダに置くのですから、この形でも十分、かもしれません。
もうちょっと良い形があれば試してみたいですね。

Special Thanks!

CloudGarage Dev Assist Program協力のもと、NCEでSandbox、実験場を作成しました。\
試せるシステムに限りはありますが、ぜひお試しくださいませ

  • NCE Sandbox:http://sandbox.netcircus.jp/

    [contact-field label='名前' type='name' required='true'/][contact-field label='メールアドレス' type='email' required='true'/][contact-field label='ウェブサイト' type='url'/][contact-field label='メッセージ' type='textarea'/][/contact-form

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください