Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ansible for Open Source project

Ansible for Open Source project

オープンソースカンファレンス2015沖縄のLT大会で発表した内容 #osc15ok

YAMASHIRO, Jun

July 05, 2015
Tweet

Other Decks in Technology

Transcript

  1. オープンソースプロジェクトのための
    Ansible
    山城潤
    @yamajun_ofug
    http://www.ofug.net/~yamajun/
    サイオンコミュニケーションズ株式会社
    Okinawa FreeBSD Users Group

    View full-size slide

  2. みなさん、日本語変換してますか?

    View full-size slide

  3. 恩納村伊武部

    View full-size slide

  4. 沖縄県立美来工科高校

    View full-size slide

  5. 「美来(みらい)」は未来ではありません

    View full-size slide

  6. ……というように、沖縄に関わりがある人には
    普通の日本語入力ソフトだけでは対処できない
    言葉がいっぱいあります。

    View full-size slide

  7. これらの問題をどうにかしようと
    結構昔に
    沖縄のインターネット老人先輩方が
    立ち上がりました。
    (若者なのでいつから始まったか知らない)

    View full-size slide

  8. 沖縄辞書プロジェクト

    http://osdn.jp/projects/o-dic/
    ● 沖縄・奄美に関係する言葉を
    日本語変換システムの辞書に
    登録するプロジェクト
    ● MSIME, ATOK, Anthy とか
    ● Google日本語入力/Mozc
    では一部の単語が取り込まれ
    ています(全部ではない)。
    ● Public Domain

    View full-size slide

  9. 問題点
    ● 最新のファイルが2009年
    ● 辞書の改定はしてるけど
    自分で変換作業をしないと
    使えない

    View full-size slide

  10. 変換にはperlとnkfが必要

    View full-size slide

  11. みんなが perl や nkf を使える
    コンピューターを持ってはいない。

    View full-size slide

  12. nkfの作者の1人がこの場にいるはずだが
    気にしてはいけない。

    View full-size slide

  13. タスク
    現状を改善するために、辞書ファイルの作成作業を省力化
    したい。
    • git リポジトリーからソースを取得
    • 変換用スクリプトを利用した辞書の変換処理
    • ZIP アーカイブの作成
    • osdn.jp にファイルを送信
    この作業を楽にするためにCIツールを導入する。

    View full-size slide

  14. そこでAnsible
    ● リモート側にはpythonがあればOK
    Ansible はホスト側だけインストールでOK
    ● BSDな人にはうれしい

    View full-size slide

  15. 設定も簡単
    ● ansible/hosts ファイルとPlaybook(YAML)を
    書けばOK
    - hosts: odicbuild
    vars:
    git_repository: git://git.osdn.jp/gitroot/o-dic/o-dic.git
    work_dir: "{{ lookup('env', 'HOME') }}/works"
    today: "{{ lookup('pipe', 'date +%Y%m%d') }}"
    repos_dir: "{{work_dir}}/o-dic"
    script_dir: "{{repos_dir}}/script"
    output_file: "odic-{{today}}"
    output_dir: "{{repos_dir}}/{{output_file}}"

    View full-size slide

  16. 適度に高機能
    ● バージョン管理システムからソースを取ってき

    ● ビルドしたりアーカイブするところまで一括で
    できる。
    ● CIツールは冪等性を実現しやすいように作って
    あるので、シェルスクリプトとかと違って例外
    処理のハンドリングに苦労することはない。

    View full-size slide

  17. 全くの素人だった俺が半日で目的達成

    View full-size slide

  18. みんなで使おうAnsible

    View full-size slide

  19. あと、沖縄辞書に足りない単語があったら
    pull request とかメーリングリストで
    教えてください。

    View full-size slide

  20. まずは卒業アルバムとかチェックしてみよう。

    View full-size slide

  21. 参考文献
    http://www.ansible.com/
    エージェントレスでシンプルな構成管理ツール「Ansible」入門 - さくらのナレッジ
    http://knowledge.sakura.ad.jp/tech/3124/
    Ansible で git clone させる - Qiita
    http://qiita.com/seizans/items/f5f052aec1592c47767f
    AnsibleとFreeBSDの詰まりポイント - Qiita「のコメント」
    http://qiita.com/karadaharu/items/5a7e33cebacc887cd111#comment-
    9544572350633036787e
    ansible使いのためのYAML入門 - @znz blog
    http://blog.n-z.jp/blog/2014-06-21-ansible-yaml.html

    View full-size slide

  22. 注意
    ● 私の発表内容は沖縄辞書プロジェクトの公式見
    解ではありません。
    このネタ今日作成したばっかりなので、採用さ
    れないかもしれないです。

    View full-size slide