Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
V tomto článku se dozvíte, jak sestavovat a nasazovat projekty Xcode s kanály YAML v Azure Pipelines.
Požadavky
- Organizace a projekt Azure DevOps, kde máte oprávnění vytvářet kanály a nasazovat aplikace.
- Projekt a aplikace Xcode 9+ v úložišti GitHub. Další informace najdete v tématu Vytvoření projektu Xcode pro aplikaci.
Vytvořte kanál
Důležité
Během postupů GitHubu se může zobrazit výzva k vytvoření připojení služby GitHub nebo k přesměrování na GitHub, abyste se mohli přihlásit, nainstalovat Azure Pipelines nebo autorizovat Azure Pipelines. Dokončete proces podle pokynů na obrazovce. Další informace najdete v tématu Přístup k úložištím GitHub.
- V projektu Azure DevOps vyberte Kanály>Nový kanál nebo Vytvořte kanál, pokud je tento kanál v projektu prvním kanálem.
- Jako umístění zdrojového kódu vyberte GitHub .
- Na obrazovce Vybrat úložiště vyberte úložiště pro váš projekt Xcode.
- Na obrazovce Konfigurace kanálu vyberte Xcode.
Azure Pipelines poskytuje počáteční kanál založený na šabloně Xcode . Zkontrolujte kód v azure-pipelines.yml.
Sestavení prostředí
Xcode je předinstalovaný na agentech macOS hostovaných Microsoftem v Azure Pipelines, takže nemusíte nastavovat žádnou infrastrukturu. Přesné verze Xcode, které jsou předinstalované, najdete v softwaru agentů hostovaných Microsoftem.
Uzel pool v horní části souboru azure-pipelines.yml vybere příslušný fond agentů.
pool:
vmImage: 'macOS-latest'
Úloha sestavení Xcode
Úloha Xcode sestaví, testuje nebo archivuje pracovní prostor Xcode v systému macOS a může volitelně zabalit aplikaci. Krok Xcode ve startovacím souboru azure-pipelines.yml sestaví projekt iOS pomocí svého výchozího schématu pro simulátor a bez balení. Můžete změnit hodnoty a přidat parametry tak, aby odpovídaly konfiguraci projektu.
Vývojový build:
steps:
- task: Xcode@5
inputs:
actions: 'build'
scheme: ''
sdk: 'iphonesimulator'
configuration: 'Debug'
xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace'
xcodeVersion: 'default' # Options: 10, 11, 12, 13, 14, default, specifyPath
Produkční sestavení pro App Store:
V případě produkčních verzí zadejte explicitní verzi Xcode, schéma vaší aplikace a konfiguraci vydané verze:
steps:
- task: Xcode@5
inputs:
actions: 'build'
scheme: 'YourAppScheme'
sdk: 'iphoneos'
configuration: 'Release'
xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace'
xcodeVersion: '14'
packageApp: true
exportPath: '$(build.artifactStagingDirectory)'
exportOptions: 'automatic'
Hlavní rozdíly v produkčním prostředí:
-
xcodeVersion: Místo konzistentních reprodukovatelných buildů zadejte pevnou verzi (např
'14'. )'default'. - scheme: Nahraďte prázdný řetězec skutečným názvem schématu vaší aplikace.
-
SDK: Používá se
'iphoneos'pro sestavení zařízení, používá'iphonesimulator'se pro sestavení simulátoru. -
konfigurace: Použití
'Release'pro produkční prostředí, použití'Debug'pro vývoj. -
packageApp: Nastavte na vygenerování
true.ipasouboru pro distribuci. - exportPath: Směruje výstup balíčku do přípravného adresáře sestavení pro publikování artefaktů.
Ulož a spusť pipeline
Až dokončíte kontrolu kódu v azure-pipelines.yml, vyberte Uložit a spustit.
Volitelně můžete upravit commit zprávu a zadat popis. Potom vyberte Uložit a spusťte znovu, aby se soubor azure-pipelines.yml uložil do úložiště a spustil sestavení.
Na stránce běhu sestavení se zobrazují podrobnosti sestavení a jeho průběh. Pokud chcete sledovat pipeline v akci, vyberte Úlohu v dolní části stránky.
Teď máte v úložišti funkční kanál YAML, azure-pipelines.yml, který je připravený k přizpůsobení.
Přizpůsobte si svůj pipeline
Pokud chcete v kanálu udělat změny, na stránce kanálu vyberte Upravit . Následující části popisují některé běžné způsoby přizpůsobení kanálu Xcode na základě vašich konkrétních potřeb:
- Podepisování a zřizování: Vyžaduje se k nasazení do fyzických zařízení nebo App Storu.
- Správa závislostí: Nakonfigurujte ověřování pro privátní úložiště.
- Správa artefaktů: Uložte výstupy sestavení pro testování a nasazení.
- Distribuce: Automatizujte vydání do TestFlightu nebo App Storu.
Přidejte úlohy podepisování a zřizování
Pokud chcete spustit svou aplikaci Xcode na fyzickém zařízení nebo ji publikovat do App Store, musíte aplikaci podepsat a připravit pro zveřejnění. Tento proces zahrnuje použití podpisového certifikátu P12 (přihlašovacích údajů zabezpečení, které ověřuje identitu vaší aplikace) a zřizovacích profilů (které autorizuje vaši aplikaci pro konkrétní zařízení nebo distribuci). Další informace najdete v tématu Podepsání mobilní aplikace.
Pokud chcete certifikát a profil zpřístupnit Xcode během sestavování, přidejte do kanálu úlohy Instalace certifikátu Apple a Instalace zřizovacího profilu Apple.
Správa závislostí
Váš projekt Xcode může používat správce závislostí ke zpracování knihoven a architektur třetích stran. Následující části popisují, jak nakonfigurovat ověřování pro privátní úložiště s různými správci závislostí.
Správce balíčků Swift
Swift Package Manager (SPM) je nativní správce závislostí společnosti Apple a je integrovaný přímo do Xcode. U projektů, které používají SPM s privátními balíčky, je potřeba nakonfigurovat ověřování Gitu.
Pokud jsou vaše privátní balíčky Swift hostované na GitHubu, nastavte ověřování pomocí proměnné prostředí s názvem GITHUB_ACCESS_TOKEN s hodnotou osobního přístupového tokenu, který má přístup k úložišti.
Nepřidávejte tajný token přímo do YAML konfigurace, protože tato akce ho zveřejňuje ve zdrojovém kódu. Další informace naleznete v tématu Nastavení tajných proměnných.
Následující kód pipeliny používá při překladu závislostí balíčku Swift tajnou proměnnou pojmenovanou myGitHubAccessToken pro ověřování:
- task: Xcode@5
inputs:
actions: 'build'
scheme: ''
sdk: 'iphoneos'
configuration: 'Release'
xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace'
env:
GITHUB_ACCESS_TOKEN: $(myGitHubAccessToken)
Pro privátní balíčky hostované v Azure Repos nebo jiných poskytovatelích Gitu nakonfigurujte příslušné přihlašovací údaje Gitu před krokem sestavení.
Kakaopodi
Pokud váš projekt používá CocoaPods, použijte úlohu CocoaPods k instalaci závislostí.
- task: CocoaPods@0
inputs:
workingDirectory: '$(System.DefaultWorkingDirectory)'
forceRepo: false
Kartágo
Pokud váš projekt používá Carthage (správce závislostí pro projekty iOS/macOS) s privátním úložištěm Carthage, nastavte ověřování pomocí proměnné prostředí s názvem GITHUB_ACCESS_TOKEN s hodnotou tokenu, který má přístup k úložišti. Carthage automaticky detekuje a používá tuto proměnnou prostředí.
Nepřidávejte tajný token přímo do YAML konfigurace, protože tato akce ho zveřejňuje ve zdrojovém kódu. Další informace naleznete v tématu Nastavení tajných proměnných.
Tento kód pipeline používá tajnou proměnnou pojmenovanou myGitHubAccessToken pro hodnotu proměnné prostředí GITHUB_ACCESS_TOKEN.
- script: carthage update --platform iOS
displayName: 'Update Carthage dependencies'
env:
GITHUB_ACCESS_TOKEN: $(myGitHubAccessToken)
Testování na zařízeních hostovaných v Azure
Visual Studio App Center bylo vyřazeno 31. března 2025. Přečtěte si o doporučených alternativách.
Zachování artefaktů pomocí záznamu buildu
Pokud chcete uložit soubor balíčku AppStore pro iOS (IPA) se záznamem sestavení, nebo ho otestovat a nasadit v dalších potrubích, přidejte do potrubí úlohy Kopírovat soubory a Publikovat artefakty potrubí.
- task: CopyFiles@2
inputs:
contents: '**/*.ipa'
targetFolder: '$(build.artifactStagingDirectory)'
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(build.artifactStagingDirectory)'
artifact: 'drop'
Nasazení do Apple App Storu nebo TestFlight
Pokud chcete aplikaci distribuovat testerům nebo beta uživatelům, použijte TestFlight společnosti Apple nebo ji nasaďte přímo do App Storu. Podívejte se na následující část nasazení Apple App Storu.
V případě beta testování a zpětné vazby uživatelů zvažte použití:
- Apple TestFlight
- Beta testovací platformy třetích stran, jako je Firebase App Distribution
Instalace rozšíření Apple App Store a nasazení do Apple App Storu
Pokud chcete automatizovat interakci s Apple App Storem, nainstalujte rozšíření Apple App Store a pak použijte ve svém kanálu následující úlohy. Ve výchozím nastavení se tyto úlohy ověřují u Společnosti Apple pomocí připojení služby, které musíte nakonfigurovat.
Pokud chcete automatizovat vydávání aktualizací stávajících beta aplikací pro iOS TestFlight nebo produkčních aplikací v App Storu, přidejte úlohu vydání z App Storu.
Při použití této úlohy s dvoufaktorovým ověřováním Apple platí určitá omezení. Ověřování Apple je specifické pro jednotlivé oblasti a platnost tokenů relace fastlane (dočasné přihlašovací údaje používané k ověření pomocí Apple) vyprší rychle a musí se pravidelně znovu vytvořit a znovu nakonfigurovat.
- task: AppStoreRelease@1
displayName: 'Publish to the App Store TestFlight track'
inputs:
serviceEndpoint: 'My Apple App Store service connection'
appIdentifier: com.yourorganization.testapplication.etc
ipaPath: '$(build.artifactstagingdirectory)/**/*.ipa'
shouldSkipWaitingForProcessing: true
shouldSkipSubmission: true
Pokud chcete automatizovat propagaci aplikace, která byla dříve odeslána z iTunes Connect do App Storu, přidejte úlohu App Store Promote.
- task: AppStorePromote@1
displayName: 'Submit to the App Store for review'
inputs:
serviceEndpoint: 'My Apple App Store service connection'
appIdentifier: com.yourorganization.testapplication.etc
shouldAutoRelease: false
Související rozšíření
- Apple App Store od Microsoftu
- Kodifikované zabezpečení z kodifikovaného zabezpečení
- MacinCloud od Moboware Inc.
- Úlohy mobilních aplikací pro iOS a Android od Jamese Montemagna
- Mobilní testovací laboratoř z Perfecto Mobile
- Raygun z Raygun
- React Native od Microsoftu
- Nastavovač verzí od Toma Gildera