}
Bitrise

Automating iOS Deployment: A Step-by-Step Guide for Bitrise and App Store Connect

In deze blog leggen we uit hoe je met behulp van Bitrise automatisch builds van iOS naar de App Store kunt pushen (auto-deploy). Eerst kijken we hoe je de API-key uit de Apple App Store haalt en hoe je deze koppelt aan Bitrise. Daarna laten we zien hoe je jouw Apple Service koppelt aan het team van je app in Bitrise. In de laatste stap voegen we 'auto provision' toe aan je workflow in Bitrise.

Introductie

Om automatische distributie (auto-deployment) in Bitrise op te zetten, moeten alle builds correct zijn ondertekend met het juiste provisioning-profiel. In deze handleiding leggen we de stappen uit die nodig zijn om Bitrise te koppelen aan je App Store Connect-account, zodat elke build automatisch wordt geüpload. Op deze manier hoeven profielen niet meer handmatig te worden gegenereerd en geüpload.

De eerste twee stappen van deze handleiding worden uitgevoerd in App Store Connect en vereisen de rollen Account Holder (Accounthouder) of Admin (Beheerder). Als je niet over een van deze rollen beschikt, moeten deze stappen door iemand anders worden uitgevoerd. Je kunt hen deze handleiding sturen en vragen om stap 1 en 2 uit te voeren. Aan het einde van stap 2 moet er bepaalde informatie worden verzameld. Deze stappen beschrijven duidelijk wat er nodig is om later de configuratie in Bitrise in te richten. Hiervoor heb je het volgende nodig:

  • API-key bestand (dit is een .p8-bestand)
  • Issuer ID
  • Key ID

Als iemand anders stap 1 en 2 uitvoert, zorg er dan voor dat zij je deze drie zaken aanleveren.

1. Toegang aanvragen tot de App Store Connect API

Allereerst moeten we toegang aanvragen tot de App Store Connect API. Dit kan worden gedaan door een gebruiker met de rol Account Holder. Als je deze rol hebt, kun je toegang aanvragen via de volgende stappen:

  1. Ga naar App Store Connect en log in.
  2. Selecteer Users and Access (Gebruikers en toegang).
  3. Selecteer naast de titel het tabblad Keys (Sleutels).
  4. Klik op de knop Request Access (Toegang aanvragen).

Auto Deployment iOS
  • Je ontvangt een e-mail zodra de aanvraag is goedgekeurd. Je kunt pas verdergaan als dit is goedgekeurd. De e-mail ziet er ongeveer zo uit:
iOS auto provisioning in bitrise

2. API-key genereren in App Store Connect

Zodra de toegang tot de App Store Connect API is goedgekeurd, moeten we een API-key genereren. Dit kan alleen worden gedaan door een gebruiker met de rol Admin. Als je deze rol hebt, volg dan deze stappen:

  1. Ga naar App Store Connect en log in.
  2. Selecteer Users and Access.
  3. Selecteer naast de titel het tabblad Keys.
  4. Klik op de knop Generate API Key (API-sleutel genereren).

iOS api key in app store
  • Geef de sleutel de naam Bitrise, selecteer onder Access (Toegang) de rol Admin en klik op Generate.
  • Nadat de API-key is gegenereerd, selecteer je Download API Key en sla je het .p8-bestand op een veilige plek op. Je hebt dit bestand later nodig in Bitrise.
ios deploiment bitrise
  • Boven de gegenereerde sleutel zie je de Issuer ID. Je kunt op de knop Copy daarnaast klikken om de waarde te kopiëren. Deze waarde moet later in Bitrise worden ingevoerd.
  • Naast de Key ID kun je op de knop Copy Key ID klikken om de waarde te kopiëren. Ook deze waarde moet later in Bitrise worden ingevoerd.

3. Apple Service-account koppelen in Bitrise

Nu de sleutel is gegenereerd en gedownload, kunnen we deze in Bitrise gebruiken om ons Apple-account te koppelen aan ons Bitrise-account. Voer de volgende stappen uit:

  1. Ga naar Bitrise en log in.
  2. Selecteer View Dashboard.
  3. Klik op je profiel in de rechterbovenhoek om het dropdownmenu te openen en selecteer Account Settings.

bitrise and iOS deploiment
  • Selecteer Apple Service Connection in het menu aan de linkerkant (onder CONNECTED ACCOUNTS).
apple service connection
    1. Klik op de knop Add connection.
    2. Vul in de pop-up een naam in (we raden aan om hier de naam van je Apple Developer-organisatie te gebruiken).
    3. Plak onder Issuer ID de issuer ID die je hebt gekopieerd uit App Store Connect.
    4. Plak onder Key ID de key ID die je hebt gekopieerd uit App Store Connect.
    5. Selecteer ten slotte de knop Upload a Private Key (.p8) en zoek het bestand op dat je eerder hebt gedownload.
    6. Als alles is ingesteld, klik je op de knop Connect om je koppeling op te slaan.
apple api key authentication

4. Apple Service-koppeling toevoegen aan het team van je app in Bitrise

Zodra de Apple Service Connection is gemaakt, moet deze nog worden toegevoegd aan het team van je app. Dit moet voor elke app afzonderlijk gebeuren:

  1. Open de app waaraan je de koppeling wilt toevoegen (via het dashboard of via de Search for app... zoekbalk in de linkerbovenhoek).
  2. Zodra je de app hebt geopend, selecteer je het tabblad Team.
iOS deployment to your app's team in bitrise
  • Scroll helemaal naar beneden naar Apple Service connection en selecteer Connection not set onder API key authentication (recommended). Er verschijnt nu een dropdownmenu met al je koppelingen.
  • Selecteer de koppeling die je in de vorige stap hebt gemaakt.
apple service connection iOS and Bitrise
  • Dat is alles! De wijzigingen zijn automatisch opgeslagen.

5. iOS Auto Provision toevoegen aan je workflow in Bitrise

Nu de Apple Service-koppeling is ingesteld en gekoppeld aan ons team, kunnen we deze gebruiken om onze apps automatisch te hervoorzien (auto provision) tijdens onze workflow:

  1. Open de juiste app.
  2. Selecteer het tabblad Workflow om de workflow editor te openen.
iOS auto provision
  • Klik in de editor ergens in je flow op de + knop om een nieuwe stap toe te voegen. Zorg ervoor dat je deze stap toevoegt boven elke stap die je app bouwt (bijvoorbeeld boven Export Archive & Export for iOS).
ios deploiment
  • De stappenkiezer wordt geopend. Typ iOS Auto Provision in de zoekbalk om de resultaten te filteren en selecteer iOS Auto Provision with App Store Connect API (kies niet de optie met Apple ID).
  • In de editor van de stap die je zojuist hebt aangemaakt, hoeven we maar één ding aan te passen. Scroll naar beneden tot je Distribution type (Required) ziet. In het tekstveld staat waarschijnlijk development. Dit moeten we veranderen. Klik op de knop Insert variable aan de rechterkant van deze sectie.
distribution ios and bitrise
  • Selecteer in de pop-up die opent $BITRISE_EXPORT_METHOD. Je kunt de resultaten filteren door in de zoekbalk te typen. Door dit te selecteren, zorg je ervoor dat de exportmethode altijd uit de omgevingsvariabelen (environment variables) wordt gehaald, zodat je deze kunt aanpassen zonder je workflow zelf te hoeven wijzigen.
  • Verwijder eventuele andere profiling-stappen uit je workflow. Waarschijnlijk heb je een stap die Certificate and profile installer heet. Klik op deze stap om de editor te openen en klik op het prullenbak-icoon om deze te verwijderen.
certificate and profile installer
  • Last but not least: zorg ervoor dat je de wijzigingen opslaat. Doe dit door op de knop in de rechterbovenhoek te klikken of gebruik de sneltoets CMD + S (op een Mac).
bitrise yml

Job Burg

August 25, 2021

Veelgestelde vragen

What is the advantage of iOS auto provisioning via Bitrise for an app team?

You automate certificates and provisioning profiles, making releases faster and more consistent while reducing manual overhead when onboarding new developers.

Which Apple configuration do you need for an Apple Service Account integration?

You need an App Store Connect API key with an issuer ID, key ID, and the private key. After that, you connect it in Bitrise as an Apple Service Connection.

How do you ensure security around API keys and p8 files in CI?

Use secrets management, minimal permissions, and a rotation policy. Configure logging so secrets never appear in output and restrict access per team.

How do you approach the App Store review process with automated deployments?

Werk met release branches, build nummers, changelogs en een review checklist. Combineer automatische builds met een handmatige gate voor submit.

Welke onderhoud afspraken horen bij een CI CD pipeline?

You build scalability and complexity for an unproven product. First product market fit, then hardening, deeper security, and hosting choices.

Gerelateerde blogs