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

matchとは?match導入のメリット

 matchとは?match導入のメリット

Kohei Tabata

June 15, 2017
Tweet

More Decks by Kohei Tabata

Other Decks in Programming

Transcript

  1. matchͱ͸ʁ
    matchಋೖͷϝϦοτ
    2017/06/22
    fastlaneษڧձ@Origami

    View full-size slide

  2. ࣗݾ঺հ
    ɾKohei Tabata(@nerd0geek1)
    ɾSaib Studio LLC
    ɾiOS/macOS Developer
    ɾfastlane contributor←New!
    Said Studio LLC Kohei Tabata
    Next! Remote quick-zip plus

    View full-size slide

  3. Agenda
    ɾূ໌ॻɺProvisioning Profileʹ͍͓ͭͯ͞Β͍
    ɹɾূ໌ॻͷ࡞੒ɾڞ༗(खಈ)ͱ໾ׂ
    ɹɾProvisioning Profileͷ໾ׂ
    ɾmatchͱ͸Կ͔ʁ
    ɹɾmatchΛར༻ͨ͠ূ໌ॻͷ࡞੒ɾڞ༗
    ɾmatchΛಋೖ͢ΔͱԿ͕มΘΔʁ
    ɾmatchͰCI/CD͕Ͳ͏มΘΔʁ

    View full-size slide

  4. ূ໌ॻͷ࡞੒(खಈ)
    ൿີ伴
    .cer
    .certSingningRequest
    ެ։伴
    .certSingningRequest
    .cer
    ূ໌ॻ

    View full-size slide

  5. ূ໌ॻͷڞ༗(खಈ)
    .p12 .p12
    ূ໌ॻ
    ൿີ伴
    ূ໌ॻ
    ൿີ伴

    View full-size slide

  6. ֤ϑΝΠϧͷ໾ׂ
    ɾCSR(Certificate Signing Request)ϑΝΠϧ
    ɹূ໌ॻॺ໊ཁٻϑΝΠϧɻ
    ɹൿີ伴ͱϖΞͰ࡞੒͞Εͨެ։伴ɺCommon NameɺOrganization NameΛ༻͍ͯ
    ɹ࡞੒͞ΕΔɻ
    ɾ.cerϑΝΠϧ
    ɹCSRϑΝΠϧΛɺೝূہ͕ೝূہͷൿີ伴Ͱॺ໊ͨ͠ϑΝΠϧɻ
    ɾ.p12ϑΝΠϧ
    ɹRFC7292Ͱఆٛ͞Εͨɺൿີ伴ͱূ໌ॻΛ֨ೲ͢ΔͨΊͷϑΝΠϧϑΥʔϚοτɻ

    View full-size slide

  7. ূ໌ॻͷ໾ׂ
    ɾίʔυॺ໊Λߦ͍ɺҎԼΛ࣮ݱ͢ΔͨΊʹඞཁɻ
    ɹɾΞϓϦ͕Appleʹͱͬͯط஌ͷ৘ใݯ͔Β࡞ΒΕͨ͜ͱΛ୲อ͢Δ
    ɹɾΞϓϦ͕ॺ໊͞Ε͔ͯΒɺվม͞Ε͍ͯͳ͍͜ͱΛ୲อ͢Δ

    View full-size slide

  8. Provisioning Profileͷ໾ׂ
    ɾίʔυॺ໊ͷͨΊ(։ൃऀ͕୭Ͱվม͕ߦΘΕ͍ͯͳ͍͔֬ೝ͢Δ)ɻ
    ɾ୺຤΁ͷΠϯετʔϧɺىಈΛ੍ޚ͢ΔͨΊɻ
    ɾಛఆͷػೳͷར༻Λ੍ޚ͢ΔͨΊɻ

    View full-size slide

  9. ΍ͬͺΓΊΜͲ͍͘͞

    View full-size slide

  10. matchͱ͸ʁ
    ɾiOSΞϓϦ։ൃͷຊ࣭Ͱ͸ͳ͍͕ΈΜͳ͕௚໘͢Δɺূ໌ॻ΍Provisioning Profileʹ
    ɹؔ͢Δ໰୊ΛΑΖ͘͠΍͓͍ͬͯͯ͘ΕΔgem
    ɾ۩ମతʹ͸ɺҎԼͷ3఺ΛࣗಈԽɺ؆қԽͯ͘͠ΕΔ
    ɹɾূ໌ॻͷ࡞੒ɾߋ৽
    ɹɾProvisioning Profileͷ࡞੒ɾߋ৽
    ɹɾূ໌ॻɾProvisioning Profileͷอ؅
    ɾ಺෦తʹ͸ɺҎԼͷgemΛར༻͍ͯ͠Δɻ
    ɹɾcert(ূ໌ॻͷ࡞੒ɾߋ৽Λߦ͏)
    ɹɾsigh(Provisioning Profileͷ࡞੒ɾߋ৽Λߦ͏)
    ɹɾspaceship(iTunes Connect/Apple Developer Centerʹ࣮ࡍʹΞΫηε͢Δ)

    View full-size slide

  11. ূ໌ॻͷ࡞੒(खಈ)
    ൿີ伴
    .cer
    .certSingningRequest
    ެ։伴
    .certSingningRequest
    .cer
    ূ໌ॻ

    View full-size slide

  12. ূ໌ॻͷ࡞੒(match)
    .cer
    .certSingningRequest
    .certSingningRequest
    .cer
    ূ໌ॻ
    .cer .p12
    ൿີ伴
    ެ։伴

    View full-size slide

  13. ূ໌ॻͷڞ༗(खಈ)
    .p12 .p12
    ূ໌ॻ
    ൿີ伴
    ূ໌ॻ
    ൿີ伴

    View full-size slide

  14. ূ໌ॻͷڞ༗(match)
    .p12 .p12
    ূ໌ॻ
    ൿີ伴

    View full-size slide

  15. ಋೖ͢ΔͱԿ͕มΘΔ͔ʁ
    ϝϦοτ
    ɾϏϧυ؀ڥͷଐਓੑ͕ഉআ͞ΕΔ
    ɾূ໌ॻɺProvisioning ProfileͷηοτΞοϓΛɺඞཁͱ͢Δਓ͕ίϚϯυ1ͭͰͰ͖Δ
    ɾূ໌ॻɺProvisioning Profileͷߋ৽͕ࠓ·ͰΑΓָʹߦ͏͜ͱͰ͖Δ
    σϝϦοτ
    ɾ৽ͨʹϓϥΠϕʔτͳϦϙδτϦΛ४උ͢Δඞཁ͕͋Δ
    ɾadminݖݶҎ্͕ඞཁʹͳΔ(ূ໌ॻɺProvisioning ProfileΛ࡞੒͢ΔͨΊ)

    View full-size slide

  16. CI/CD͕Ͳ͏มΘΔ͔ʁ
    ɾCI/CD؀ڥͷߏஙɺอक͕ܶతʹָʹʂ
    ɹɾKeychain Access΁ͷূ໌ॻɾൿີ伴ͷΠϯετʔϧͳͲΛࣗલͰ࣮૷ɾอक͢Δ
    ɹɹඞཁ͕ͳ͘ͳΔ
    ɹɾ୺຤ͷ௥ՃͳͲʹΑΔProvisioning Profileͷߋ৽΋ࣗಈͰରԠ͢Δ͜ͱ͕Ͱ͖Δ

    View full-size slide

  17. ࢀߟ
    * fastlane/match
    (https://github.com/fastlane/fastlane/tree/master/match)
    * Maintaining Your Signing Identities and Certificates
    (https://developer.apple.com/library/content/documentation/IDEs/Conceptual/
    AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//apple_ref/doc/
    uid/TP40012582-CH31-SW1)
    * Maintaining Identifiers, Devices, and Profiles
    (https://developer.apple.com/library/content/documentation/IDEs/Conceptual/
    AppDistributionGuide/MaintainingProfiles/MaintainingProfiles.html#//apple_ref/doc/uid/
    TP40012582-CH30-SW1)
    * ealeksandrov/ProvisionQL
    (https://github.com/ealeksandrov/ProvisionQL)

    View full-size slide