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

トレタアプリのCI/CD環境

Keiichi Inoue
February 09, 2017

 トレタアプリのCI/CD環境

CI/CD NIGHT

Keiichi Inoue

February 09, 2017
Tweet

More Decks by Keiichi Inoue

Other Decks in Technology

Transcript

  1. τϨλΞϓϦͷCI/CD؀ڥ
    CI/CD NIGHT
    Keiichi Inoue @ Toreta, Inc.

    View full-size slide

  2. Ҫ্ ܙҰ (Keiichi Inoue)
    @dreamagicjp
    http://about.me/keiichiinoue
    Toreta (2015/11 - )
    QA Engineer + Project Manager

    View full-size slide

  3. CI/CD ͸
    େਓͷϐλΰϥεΠον

    View full-size slide

  4. ҿ৯ళ޲͚
    ༧໿/ސ٬୆ாαʔϏε

    View full-size slide

  5. Toreta, Inc.

    View full-size slide

  6. Toreta, Inc.

    View full-size slide

  7. Toreta
    iPadΞϓϦɾ΢Σϒ༧໿
    ૑ۀ 2013೥7݄ ૑ۀ
    ొ࿥ళฮ਺ 8000+
    ڌ఺਺ 4
    ɹ(౦ژ, େࡕ, ෱Ԭ, γϯΨϙʔϧ)
    ࣾһ਺ 80-90

    View full-size slide

  8. τϨλΞϓϦͷCI/CD

    View full-size slide

  9. ʙ 2015
    Mac mini

    View full-size slide

  10. CircleCI ͰมΘͬͨ͜ͱ
    macOS ͷόʔδϣϯ؅ཧ͔Βͷղ์
    ෳ਺όʔδϣϯͷ Xcode Λ࢖͍෼͚ΒΕΔ
    Ͳ͔͜ΒͰ΋ϏϧυͰ͖Δ
    circle.yml ʹ؀ڥߏஙखॱΛίʔυԽͰ͖Δ
    पลαʔϏεͱ؆୯ʹ࿈ܞͰ͖Δ
    ࠷ۙ͸ SSH ΋Ͱ͖ΔΑ͏ʹͳͬͯσόοά΋؆୯

    View full-size slide

  11. GitHub
    CircleCI
    HockeyApp
    Slack
    ϦΫΤετ
    Ϩϙʔτ
    Hubot
    ϦΫΤετ
    ΞϓϦ
    σϓϩΠ Ϩϙʔτ
     Developer
    Push
    Slack
    Dev/Design
    provisioning
    profile

    View full-size slide

  12. Fastlane
    https://fastlane.tools/
    Ruby ੡ϏϧυɾϦϦʔεࣗಈԽ tool chain
    CI/CD ʹඞཁͳૢ࡞Λ DSL Ά͘ॻ͚Δ
    ॺ໊΍αϒϛοτͳͲͷటष͍࡞ۀ΋ٵऩͯ͘͠ΕΔ

    View full-size slide

  13. Test
    SwiftLint
    Swift ͷߏจΛνΣοΫͯ͠Ϩϙʔτ
    ·ͣશϧʔϧΛແޮʹͯ͠मਖ਼͠ͳ͕Βগͣͭ͠༗ޮʹ
    Scan (XCTest)
    ΞϓϦͷ Unit Test
    Swift Ҡߦ/ϦϑΝΫλϦϯάͨ͠৔ॴ͔Βςετ௥Ճ
    Snapshot (XCUITest)
    ΞϓϦͷ E2E Test
    ओཁը໘ͷεΫϦʔϯγϣοτΛऩू͢Δͱ͜Ζ͔Β

    View full-size slide

  14. XCUITest
    Apple ͷ E2E ςετϑϨʔϜϫʔΫ
    ݴޠ: Swift / Objective-C
    ΞϓϦͱಉ͡ϦϙδτϦͰ؅ཧɺXcode Ͱ࣮ߦ
    ཁૉʹ accessibilityIdentifier Λઃఆͯ͠ૢ࡞
    Selenium ϥΠΫͳ API
    BQQCVUUPOT<MPHJO#VUUPO>UBQ

    9$5"TTFSU BQQCVUUPOT<IPNF#VUUPO>FYJTUT

    ςετதʹࣗಈͰεΫγϣΛࡱӨ σόοά͠΍͍͢

    View full-size slide

  15. Deploy
    topic branch
    ΞϓϦͷϏϧυ͸εΩοϓ
    σβΠφʔʹݟͯ΋Β͍͍ͨ৔߹͸ Hubot ܦ༝ͰϏϧυ
    develop branch
    Enterprise ΞϓϦΛϏϧυͯ͠ HockeyApp ʹ ⤴
    master branch
    Production ΞϓϦΛ iTC, HockeyApp ʹ ⤴
    repository

    View full-size slide

  16. ͜Ε͔Β
    ςετɾLinterϧʔϧͷ֦ு
    Ϗϧυ࣌ؒͷ୹ॖ
    E2Eςετͷޮ཰Խɾ࠷దԽ

    View full-size slide

  17. We are hiring!!!

    QA Engineer
    Software Engineer in Test (SET)
    iOS Engineer
    https://www.wantedly.com/companies/toreta/projects

    View full-size slide