Podepsání mobilní aplikace

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Při vývoji aplikace pro operační systémy Android nebo Apple budete nakonec muset spravovat podpisové certifikáty a v případě aplikací Apple zřizovací profily. Tento článek popisuje, jak je bezpečně spravovat pro podepisování a zřizování aplikace.

Tip

Použijte agenta sestavení systému Linux, macOS nebo Windows hostovaný Microsoftem nebo si nastavte vlastního agenta. Viz Agenti sestavení a vydaných verzí.

Tento článek se věnuje následujícím tématům:

Podepsání aplikace pro Android

Při podepisování aplikace pro Android při zachování zabezpečení podpisového certifikátu postupujte takto:

  1. Nejprve získejte soubor úložiště klíčů, který obsahuje váš podpisový certifikát. Dokumentace k Androidu popisuje proces generování souboru úložiště klíčů a jeho odpovídajícího klíče.

  2. Vytvořte kanál buildu ze šablony sestavení Pro Android nebo Xamarin.Android. Nebo pokud už máte kanál buildu, přidejte úlohu podepisování Androidu za úlohu, která sestaví váš APK.

  3. Najděte zaškrtávací políčko Podepsat android podpisový úkol a povolte ho.

  4. Vedle pole Soubor úložiště klíčů vyberte ikonu nastavení a nahrajte soubor úložiště klíčů do knihovny Zabezpečené soubory. Během nahrávání se úložiště klíčů zašifruje a bezpečně uloží.

  5. Jakmile se úložiště klíčů nahraje do knihovny Zabezpečené soubory, vyberte ho v rozevíracím seznamu Soubor úložiště klíčů.

  6. Přejděte na kartu Proměnné a přidejte následující proměnné. Do sloupce Hodnota zadejte heslo úložiště klíčů, alias klíče a heslo klíče.

    • keystore-password: Heslo k nešifrovanýmu souboru úložiště klíčů. Nezapomeňte vybrat ikonu zámku . Tím se vaše heslo zabezpečí a zakryje ho v protokolech.

    • key-alias: Alias klíče pro podpisový certifikát, který jste vygenerovali.

    • key-password: Heslo pro klíč přidružený k zadanému aliasu. Znovu nezapomeňte vybrat ikonu zámku .

      Podpisové proměnné androidu

  7. Vraťte se na kartu Úkoly a v možnostech podepisování odkazujte na názvy nově vytvořených proměnných.

    Vstupní hodnoty pro Android

Uložte kanál buildu a máte všechno nastavené. Každý agent sestavení teď bude moct bezpečně podepsat aplikaci bez jakékoli správy certifikátů na samotném počítači sestavení.

Podepsání aplikace Apple pro iOS, macOS, tvOS nebo watchOS

Pro sestavení Xcode nebo Xamarin.iOS pro podepsání a zřízení aplikace potřebuje přístup k podpisovém certifikátu P12 a jednomu nebo několika zřizovacím profilům. Následující části popisují, jak tyto soubory získat.

Získání podpisového certifikátu P12

Po vytvoření podpisového certifikátu pro vývoj nebo distribuci ho vyexportujte do .p12 souboru pomocí Xcode nebo aplikace Keychain Access v systému macOS.

  1. Pokud chcete exportovat pomocí Xcode 8 nebo nižší, přejděte do předvoleb Xcode...>>Účty a vyberte svůj vývojářský účet Apple.

  2. Vyberte Zobrazit podrobnosti..., klikněte pravým tlačítkem myši na podpisovou identitu, kterou chcete exportovat, a vyberte Exportovat....

  3. Zadejte název souboru a heslo. Poznamenejte si heslo, protože ho budete potřebovat později.

    Certifikát exportu Xcode

  4. Případně použijte podobný postup pomocí aplikace Keychain Access v systému macOS nebo vygenerujte podpisový certifikát ve Windows. Pokud dáváte přednost této metodě, použijte postup popsaný v tomto článku .

Získání zřizovacího profilu

Z portálu Pro vývojáře Apple si můžete stáhnout zřizovací profil aplikace, pokud vaše aplikace nepoužívá automatické podepisování. Naučte se stahovat zřizovací profil na portálu Apple Developer.

Můžete také použít Xcode pro přístup k těm, které jsou nainstalované na počítači Mac.

  1. Pomocí Xcode 8 nebo nižší přejděte na Předvolby Xcode...>>Účty a vyberte svůj vývojářský účet Apple.

  2. Klikněte pravým tlačítkem na zřizovací profil, který chcete použít, a vyberte Zobrazit ve Finderu.

  3. Zkopírujte zvýrazněný soubor z Finderu do jiného umístění a dejte mu popisný název souboru.

    Xcode Show in Finder

Konfigurace sestavení

Pro sestavení existují dva doporučené způsoby, jak získat přístup k podpisovacím certifikátům a zřizovacím profilům pro podepisování a zřizování aplikace:

  1. Instalace během sestavení
  2. Jejich předinstalace v agentu sestavení macOS

Podrobnosti zobrazíte výběrem některé z karet níže.

Tuto metodu použijte, pokud nemáte trvalý přístup k agentovi sestavení, jako jsou hostovaní agenti macOS. Po dokončení sestavení se nainstaluje certifikát P12 a profil zřizování a po dokončení sestavení se odebere.

Instalace certifikátu P12 během sestavení

Visual Editor
  1. Přidejte úlohu Instalovat certifikát Apple do sestavení před úlohu Xcode nebo Xamarin.iOS.
  2. Vedle pole Certifikát (P12) vyberte ikonu nastavení a nahrajte soubor P12 do knihovny Zabezpečené soubory. Během nahrávání se certifikát zašifruje a bezpečně uloží.
  3. Jakmile se certifikát nahraje do knihovny Secure Files, vyberte ho v rozevíracím seznamu Certifikát (P12).
  4. Přejděte na kartu Proměnné a přidejte proměnnou s názvem P12password. Nastavte jeho hodnotu na heslo vašeho certifikátu. Nezapomeňte vybrat ikonu zámku . Tím se vaše heslo zabezpečí a zakryje ho v protokolech.
  5. Vraťte se na kartu Úkoly . V nastavení úlohy Instalace certifikátu Apple odkazujte na nově vytvořenou proměnnou v poli Heslo certifikátu (P12) takto: $(P12password)
Ukázka YAML
  1. Nahrajte soubor P12 do knihovny Zabezpečených souborů. Během nahrávání se certifikát zašifruje a bezpečně uloží.

  2. Přejděte na kartu Proměnné a přidejte proměnnou s názvem P12password. Nastavte jeho hodnotu na heslo vašeho certifikátu. Nezapomeňte vybrat ikonu zámku . Tím se vaše heslo zabezpečí a zakryje ho v protokolech.

  3. Před úlohu Xcode nebo Xamarin.iOS přidejte úlohu Install Apple Certificate do YAML:

    - task: InstallAppleCertificate@2
        inputs:
          certSecureFile: 'my-secure-file.p12' # replace my-secure-file.p12 with the name of your P12 file.
          certPwd: '$(P12password)'
    

Instalace zřizovacího profilu během sestavení

Visual Editor
  1. Před úlohu Xcode nebo Xamarin.iOS přidejte do sestavení úlohu Instalovat zřizovací profil Apple.
  2. Pro možnost Umístění zřizovacího profilu zvolte Zabezpečené soubory (v YAML, secureFiles).
  3. Vedle pole zřizovacího profilu vyberte ikonu nastavení a nahrajte soubor zřizovacího profilu do knihovny Zabezpečené soubory. Během nahrávání se certifikát zašifruje a bezpečně uloží.
  4. Jakmile se certifikát nahraje do knihovny Secure Files, vyberte ho v rozevíracím seznamu zřizovacího profilu .
  5. Po sestavení povolte zaškrtávací políčko Odebrat profil. Tím zajistíte, že na počítači agenta nezůstane profil zřizování.
Ukázka YAML
  1. Nahrajte zřizovací profil do knihovny Zabezpečených souborů. Během nahrávání se certifikát zašifruje a bezpečně uloží.

  2. Před úlohu Xcode nebo Xamarin.iOS přidejte úlohu Instalovat zřizovací profil Apple do YAML:

    - task: InstallAppleProvisioningProfile@1
        inputs:
          provProfileSecureFile: 'my-provisioning-profile.mobileprovision' # replace my-provisioning-profile.mobileprovision with the name of your provisioning profile file.
    

    [POZNÁMKA] Odeberte profil po výchozím nastavení sestavení na hodnotu true.

Odkazování na soubory v úloze Xcode

Visual Editor
  1. Vyberte úlohu Xcode.
  2. U možnosti Styl podepisování zvolte Ruční podepisování.
  3. Do pole Podpisová identita zadejte $(APPLE_CERTIFICATE_SIGNING_IDENTITY). Tato proměnná je automaticky nastavena úlohou Nainstalovat certifikát Apple pro vybraný certifikát.
  4. Do pole UUID zřizovacího profilu zadejte $(APPLE_PROV_PROFILE_UUID). Tato proměnná je automaticky nastavena úlohou Instalovat zřizovací profil Apple pro profil zřizování, který jste vybrali.
Ukázka YAML
- task: Xcode@5
  inputs:
    signingOption: 'manual'
    signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
    provisioningProfileUuid: '$(APPLE_PROV_PROFILE_UUID)'

Odkaz na soubory v úloze Xamarin.iOS

Visual Editor
  1. Vyberte úlohu Xamarin.iOS.
  2. U možnosti Přepsat pomocí zvolte Identifikátory.
  3. Do pole Podpisová identita zadejte $(APPLE_CERTIFICATE_SIGNING_IDENTITY). Tato proměnná je automaticky nastavena úlohou Nainstalovat certifikát Apple pro vybraný certifikát.
  4. Do pole UUID zřizovacího profilu zadejte $(APPLE_PROV_PROFILE_UUID). Tato proměnná je automaticky nastavena úlohou Instalovat zřizovací profil Apple pro profil zřizování, který jste vybrali.
Ukázka YAML
- task: XamariniOS@2
    inputs:
      solutionFile: '**/*.iOS.csproj'
      signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
      signingProvisioningProfileID: '$(APPLE_PROV_PROFILE_UUID)'

Uložte kanál buildu a máte všechno nastavené. Agent sestavení teď bude moct bezpečně podepsat a zřídit vaši aplikaci.

Často kladené dotazy

Potřebuji agenta?

Ke spuštění sestavení nebo vydání potřebujete aspoň jednoho agenta .

Mám problémy. Jak je můžu vyřešit?

Viz Řešení potíží s sestavením a vydáním.

Nemůžu vybrat výchozí fond agentů a nemůžu zařadit sestavení nebo vydání do fronty. Jak to můžu vyřešit?

Viz fondy agentů.

Moje úloha nabízení NuGet selhává s následující chybou: Chyba: Nejde získat certifikát místního vystavitele. Jak to můžu opravit?

Tento problém je možné vyřešit přidáním důvěryhodného kořenového certifikátu. Buď můžete přidat proměnnou prostředí NODE_EXTRA_CA_CERTS=file do agenta sestavení, nebo proměnnou úlohy NODE.EXTRA.CA.CERTS=file do kanálu. Další podrobnosti o této proměnné najdete v dokumentaci k Node.js. Pokyny k nastavení proměnné v kanálu najdete v části Nastavení proměnných v kanálu.

Používám místně TFS a některé z těchto funkcí nevidím. Proč ne?

Některé z těchto funkcí jsou dostupné jenom v Azure Pipelines a zatím nejsou dostupné místně. Některé funkce jsou dostupné místně, pokud jste upgradovali na nejnovější verzi TFS.