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

sphinxからAnsible Playbookを読み込む

shirou
July 29, 2016

sphinxからAnsible Playbookを読み込む

shirou

July 29, 2016
Tweet

More Decks by shirou

Other Decks in Technology

Transcript

  1. SphinxͱAnsible
    एࢁ࢙࿠ (πΩϊϫגࣜձࣾ)

    View Slide

  2. ͓·͑ͩΕΑʁ
    • एࢁ࢙࿠ (@r_rudi)
    • πΩϊϫגࣜձࣾ
    • ஶॻ
    • ೖ໳Ansible
    • SphinxΛ͸͡ΊΑ͏

    View Slide

  3. Ansible

    View Slide

  4. Ansibleͱ͸
    • ߏ੒؅ཧπʔϧͷҰͭ (chefͱ͔puppetͱ͔ͱಉ͡)
    • ଟ਺ͷαʔόʔΛ౷Ұతʹ؅ཧ
    • ͍Ζ͍Ζ࢖͑Δ
    • αʔόʔͷߏ੒؅ཧ
    • ΞϓϦͷσϓϩΠ
    • Ϋϥ΢υαʔϏεͷૢ࡞
    • Juniperͱ͔IOSͱ͔΋ରԠ

    View Slide

  5. Ansible Playbookͷྫ
    - hosts: web
    tasks:
    - name: apacheΛΠϯετʔϧ
    yum: name=apache state=installed
    - name: PHPΛΠϯετʔϧ
    yum: name=php state=installed
    - name: php.iniͷઃఆ
    template:
    src=php.ini dest=/etc/php.ini
    - name: ΞϓϦΛσϓϩΠ
    copy:
    src=info.php dest=/var/www/html/info.php

    - name: httpdΛىಈ
    service: name=httpd state=started
    task

    View Slide

  6. Playbookͷ໰୊఺
    • ʮnameʯͷΈ
    • ͋·Γ௕͍৘ใ͸ॻ͚ͳ͍
    • ͋ͱ͸ίϝϯτͰॻ͔͘͠ͳ͍
    • https://github.com/h-hirokawa/ansible-
    playbook-docgen

    View Slide

  7. Sphinx Autodoc

    View Slide

  8. Sphinx Autodoc
    • Pythonίʔυ͔ΒAPIυΩϡϝϯτΛࣗಈੜ੒
    ͢Δػೳ
    • docstring͔ΒυΩϡϝϯτΛੜ੒ͯ͘͠ΕΔ
    • ৄ͘͠͸Software Design 9݄߸Ͱ

    View Slide

  9. ࣮ྫ
    EFGEVNQT PCK [email protected]

    4FSJBMJ[FAAPCKAAUPB+40/

    QBSBNEJDUPCKEJDUUZQFPCKFDUUPTFSJBMJ[F
    [email protected]%FGBVMUJT5SVF*G
    'BMTF BMMOPO"4$**DIBSBDUFSTBSFOPU
    SFUVSO+40/GPSNBUUFETUSJOH
    SUZQFTUS

    SFUVSOUPCFJNQMFNFOUFE
    BVUPTVNNBSZ
    UPDUSFFHFOFSBUFE
    VUJMT


    QZUIPOEPDTUSJOH 4QIJOY

    View Slide

  10. ݁Ռ

    View Slide

  11. Autodocͷ࢖͍Ͳ͜Ζ
    • ιʔείʔυʹॻ͍͓͚ͯ͹ɺυΩϡϝϯτ
    ʹ΋͏Ұ౓ॻ͘ඞཁ͸ͳ͍
    • υΩϡϝϯτશମ͸खͰࣥච
    • ඞཁʹԠͯؔ͡਺ͷઆ໌Λݺͼग़͢

    View Slide

  12. AnsibleͰautodoc
    • Playbookʹ͸͋Μ·Γ৘ใΛهࡌͰ͖ͳ͍
    ͕ɺυΩϡϝϯτʹ͸هࡌͰ͖Δ
    • Playbookʹॻ͍ͯ͋Δ͜ͱΛυΩϡϝϯτʹ
    ΋͏Ұ౓ॻ͘ඞཁ͸ͳ͍

    View Slide

  13. ࡞ͬͯΈ·ͨ͠

    View Slide

  14. Sphinx ansibleautodoc

    View Slide

  15. ࢖͍ํ
    QJQJOTUBMMTQIJOYDPOUSJCBOTJCMFBVUPEPD
    DPOGQZͷFYUFOTJPOʹ

    TQIJOYDPOUSJCBOTJCMFBVUPEPD

    Λ௥Ճ

    View Slide

  16. IPTUTXFC
    UBTLT
    OBNFBQBDIFΛΠϯετʔϧ
    ZVNOBNFBQBDIFTUBUFJOTUBMMFE
    OBNF1)1ΛΠϯετʔϧ
    ZVNOBNFQIQTUBUFJOTUBMMFE
    OBNFΞϓϦΛ഑ஔ
    DPQZ
    TSDJOGPQIQEFTUWBSXXX
    IUNMJOGPQIQ
    ࠓճͷΞϓϦέʔγϣϯ͸
    QIQϑΝΠϧΛର৅ϗετʹஔ͘͜
    ͱͰσϓϩΠ͠·͢ɻ
    BOTJCMFBVUPUBTLΞϓϦΛ഑ஔ
    QMBZCPPLBOTJCMFXFCZNM

    BOTJCMFQMBZCPPL 4QIJOY

    View Slide

  17. View Slide

  18. ansibleautodoc
    • ࢦఆͨ͠playbook͔Βɺࢦఆͨ͠nameͷtask
    Λݕࡧ͠ɺදࣔ͢Δ
    • includeઌ΋role಺΋ಡΈࠐΜͰݕࡧ͢Δ

    View Slide

  19. ͪΐͬͱͨ͠

    σϞ

    View Slide

  20. ੍ݶࣄ߲
    • ม਺ల։͸͞Ε·ͤΜ(YAMLΛղੳ͍ͯ͠Δ͚ͩ)
    • Ͳ͏͍͏ද͕ࣔྑ͍͔͸ࢼߦࡨޡத
    • ςʔϚʹΑͬͯ͸ݟͨ໨͕ม
    • ҰݸͷλεΫ͚ͩͰ͢
    • λεΫΛશ෦දࣔ͢Δػೳ͸·ͩ͋Γ·ͤΜ

    View Slide

  21. ·ͱΊ

    View Slide

  22. ·ͱΊ
    • SphinxͷAutodocػೳ͸ศར
    • AnsibleͷPlaybookΛSphinx͔Β࢖͍͍ͨ
    • υΩϡϝϯτΛҰՕॴʹ·ͱΊΔ
    • sphinxcontrib-ansibleautodocΛ࡞Γ·ͨ͠
    • nameΛࢦఆͯͦ͠ͷtaskͷ಺༰Λදࣔ

    View Slide

  23. πΩϊϫגࣜձࣾ: ࣾһืूத!
    • 9݄ʹҾӽ͠༧ఆ
    • डୗ։ൃ͕த৺Ͱ͢
    • Sphinx/Ansible/Golang/Django/Elixir/React Native
    ͳͲͳͲɺ͍Ζ͍Ζͳٕज़Λ࢖͍ͬͯ·͢
    • ϦϞʔτϫʔΫՄೳ (طʹઋ୆ʹࣾһ͕͍·͢)
    • Twitter: @r_rudi ͔ @hfunai ·Ͱ͝࿈བྷ

    View Slide