Azure Logic App と Travis CI を使って翻訳サイトを静的ホスティングする

kheiakiyama.hateblo.jp

先月静的サイトホスティングについて試した。

延長線上で、サイトのコンテンツを自動生成するサンプルを作った。

github.com

デモサイトはこちら

仕組みについて

trans-feed では jekyll を使って静的サイトとして生成している。

翻訳記事の生成

Logic App はかなり安価で、翻訳(Cognitive Service) は現時点で無料で使える。
図で表すと以下のような形だ。
f:id:khei-fuji:20180321170353p:plain

ここでは翻訳したファイルを Markdown で保存する。

ホスティング

f:id:khei-fuji:20180321170403p:plain

ホスティングについては特に 前回の記事 から違いはない。

デプロイ

f:id:khei-fuji:20180321170407p:plain

翻訳したファイルとリポジトリTravis CI でまとめる。
jekyll build した結果を Azure Blob Storage にアップロードする。

Azure Function Proxy の proxies.jsonTravis CI で生成するようにしている。
Let's Encrypt の証明書を利用したい場合に、jekyll のファイル配信用プロキシと Let's Encrypt の Extension 用のプロキシが共存できるように書くのが困難で、jekyll 部分の設定は自力で書くようにしたため。
いい書き方があるのかもしれないが、ドキュメントが少なくたどり着けなかった。

Azure Functions でのプロキシの操作 | Microsoft Docs

おわりに

Azure の公式ブログ読むときに概要読んでパッと取捨選択したいと思い、今回のサンプルに至る。

書いてて気付いたが、サイト作らなくても RSS を翻訳してそのまま Slack などに流せば要求満たせる気がしてきた。
まあ jekyll を少し試したかったのでよし。

しかし、ぶっちゃけ翻訳の精度は・・・

Azureテクノロジ入門 2018

Azureテクノロジ入門 2018