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

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

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

28f57a43ae8eba102877b7a3d64f688a?s=128

Kohei Tabata

June 15, 2017
Tweet

Transcript

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

  2. ࣗݾ঺հ ɾKohei Tabata(@nerd0geek1) ɾSaib Studio LLC ɾiOS/macOS Developer ɾfastlane contributor←New!

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

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

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

  6. ֤ϑΝΠϧͷ໾ׂ ɾCSR(Certificate Signing Request)ϑΝΠϧ ɹূ໌ॻॺ໊ཁٻϑΝΠϧɻ ɹൿີ伴ͱϖΞͰ࡞੒͞Εͨެ։伴ɺCommon NameɺOrganization NameΛ༻͍ͯ ɹ࡞੒͞ΕΔɻ ɾ.cerϑΝΠϧ

    ɹCSRϑΝΠϧΛɺೝূہ͕ೝূہͷൿີ伴Ͱॺ໊ͨ͠ϑΝΠϧɻ ɾ.p12ϑΝΠϧ ɹRFC7292Ͱఆٛ͞Εͨɺൿີ伴ͱূ໌ॻΛ֨ೲ͢ΔͨΊͷϑΝΠϧϑΥʔϚοτɻ
  7. ূ໌ॻͷ໾ׂ ɾίʔυॺ໊Λߦ͍ɺҎԼΛ࣮ݱ͢ΔͨΊʹඞཁɻ ɹɾΞϓϦ͕Appleʹͱͬͯط஌ͷ৘ใݯ͔Β࡞ΒΕͨ͜ͱΛ୲อ͢Δ ɹɾΞϓϦ͕ॺ໊͞Ε͔ͯΒɺվม͞Ε͍ͯͳ͍͜ͱΛ୲อ͢Δ

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

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

  10. matchͱ͸ʁ ɾiOSΞϓϦ։ൃͷຊ࣭Ͱ͸ͳ͍͕ΈΜͳ͕௚໘͢Δɺূ໌ॻ΍Provisioning Profileʹ ɹؔ͢Δ໰୊ΛΑΖ͘͠΍͓͍ͬͯͯ͘ΕΔgem ɾ۩ମతʹ͸ɺҎԼͷ3఺ΛࣗಈԽɺ؆қԽͯ͘͠ΕΔ ɹɾূ໌ॻͷ࡞੒ɾߋ৽ ɹɾProvisioning Profileͷ࡞੒ɾߋ৽ ɹɾূ໌ॻɾProvisioning Profileͷอ؅

    ɾ಺෦తʹ͸ɺҎԼͷgemΛར༻͍ͯ͠Δɻ ɹɾcert(ূ໌ॻͷ࡞੒ɾߋ৽Λߦ͏) ɹɾsigh(Provisioning Profileͷ࡞੒ɾߋ৽Λߦ͏) ɹɾspaceship(iTunes Connect/Apple Developer Centerʹ࣮ࡍʹΞΫηε͢Δ)
  11. ূ໌ॻͷ࡞੒(खಈ) ൿີ伴 .cer .certSingningRequest ެ։伴 .certSingningRequest .cer ূ໌ॻ

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

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

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

  15. ΊͬͪΌָ

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

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

  18. ࢀߟ * 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)