

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Créez et testez des applications iOS avec AWS CodeCommit CodePipeline, AWS et AWS Device Farm
<a name="build-and-test-ios-apps-with-aws-codecommit-aws-codepipeline-and-aws-device-farm"></a>

*Abdullahi Olaoye, Amazon Web Services*

## Résumé
<a name="build-and-test-ios-apps-with-aws-codecommit-aws-codepipeline-and-aws-device-farm-summary"></a>

Ce modèle décrit les étapes de création d'un pipeline d'intégration et de livraison continues (CI/CD) qui utilise AWS CodePipeline pour créer et tester des applications iOS sur des appareils réels sur AWS. Le modèle utilise AWS CodeCommit pour stocker le code de l'application, l'outil open source Jenkins pour créer l'application iOS et AWS Device Farm pour tester l'application créée sur de vrais appareils. Ces trois phases sont orchestrées ensemble dans un pipeline à l'aide d'AWS CodePipeline.

Ce modèle est basé sur l'article [Création et test d'applications iOS et iPadOS avec AWS DevOps et les services mobiles](https://aws.amazon.com/blogs/devops/building-and-testing-ios-and-ipados-apps-with-aws-devops-and-mobile-services/) publié sur le DevOps blog AWS. Pour des instructions détaillées, consultez le billet de blog.

## Conditions préalables et limitations
<a name="build-and-test-ios-apps-with-aws-codecommit-aws-codepipeline-and-aws-device-farm-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Un compte de développeur Apple
+ Serveur de compilation (macOS)
+ [Xcode](https://developer.apple.com/xcode/) version 11.3 (installé et configuré sur le serveur de compilation)
+ Interface de ligne de commande AWS (AWS CLI) (AWS CLI[)](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html) installée [et](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) configurée sur le poste de travail
+ Connaissances de base de [Git](https://git-scm.com/docs)

**Limites**
+ Le serveur de génération d'applications doit exécuter macOS. 
+ Le serveur de build doit avoir une adresse IP publique afin de CodePipeline pouvoir s'y connecter à distance pour lancer des builds.

## Architecture
<a name="build-and-test-ios-apps-with-aws-codecommit-aws-codepipeline-and-aws-device-farm-architecture"></a>

**Pile technologique source**
+ Processus de création d'applications iOS sur site qui implique l'utilisation d'un simulateur ou un test manuel sur des appareils physiques

**Pile technologique cible**
+ Un CodeCommit référentiel AWS pour le stockage du code source de l'application
+ Un serveur Jenkins pour les builds d'applications à l'aide de Xcode
+ Un pool d'appareils AWS Device Farm pour tester des applications sur de vrais appareils

**Architecture cible**

Lorsqu'un utilisateur valide des modifications dans le référentiel source, le pipeline (AWS CodePipeline) extrait le code du référentiel source, lance une compilation Jenkins et transmet le code de l'application à Jenkins. Après le build, le pipeline récupère l'artefact de build et lance une tâche AWS Device Farm pour tester l'application par rapport à un pool d'appareils.

 

![Le pipeline CI/CD utilise AWS CodePipeline pour créer et tester des applications iOS sur de vrais appareils.](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/06fbd82f-4aed-441c-818c-5f89f56af78e/images/0ae3d7b6-b40c-44ef-9580-8c8266c3d841.png)


## Outils
<a name="build-and-test-ios-apps-with-aws-codecommit-aws-codepipeline-and-aws-device-farm-tools"></a>
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) est un service de livraison continue entièrement géré qui vous aide à automatiser vos pipelines de publication pour des mises à jour rapides et fiables des applications et de l'infrastructure. CodePipeline automatise les phases de création, de test et de déploiement de votre processus de publication chaque fois qu'un changement de code est effectué, en fonction du modèle de version que vous définissez.
+ [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) est un service de contrôle de source entièrement géré qui héberge des référentiels sécurisés basés sur Git. Il permet aux équipes de collaborer facilement sur le code dans un écosystème sécurisé et hautement évolutif. CodeCommit élimine le besoin d'exploiter votre propre système de contrôle de source ou de vous soucier de la mise à l'échelle de son infrastructure.
+ [AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html) est un service de test d'applications qui vous permet d'améliorer la qualité de vos applications Web et mobiles en les testant sur une large gamme de navigateurs de bureau et de véritables appareils mobiles, sans avoir à fournir ni à gérer d'infrastructure de test.
+ [Jenkins](https://www.jenkins.io/) est un serveur d'automatisation open source qui permet aux développeurs de créer, de tester et de déployer leurs logiciels.

## Épopées
<a name="build-and-test-ios-apps-with-aws-codecommit-aws-codepipeline-and-aws-device-farm-epics"></a>

### Configuration de l'environnement de construction
<a name="set-up-the-build-environment"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez Jenkins sur le serveur de compilation qui exécute macOS. | Jenkins sera utilisé pour créer l'application, vous devez donc d'abord l'installer sur le serveur de compilation. Pour obtenir des instructions détaillées concernant cette tâche et les tâches suivantes, consultez le billet de blog AWS sur la [création et le test d'applications iOS et iPadOS avec AWS DevOps , les services mobiles](https://aws.amazon.com/blogs/devops/building-and-testing-ios-and-ipados-apps-with-aws-devops-and-mobile-services/) et d'autres ressources dans la section [Ressources connexes](#build-and-test-ios-apps-with-aws-codecommit-aws-codepipeline-and-aws-device-farm-resources) à la fin de ce modèle. | DevOps | 
| Configurez Jenkins. | Suivez les instructions affichées à l'écran pour configurer Jenkins. | DevOps | 
| Installez le CodePipeline plugin AWS pour Jenkins. | Ce plugin doit être installé sur le serveur Jenkins pour que Jenkins puisse interagir avec le service AWS CodePipeline . | DevOps | 
| Créez un projet Jenkins Freestyle. | Dans Jenkins, créez un projet de freestyle. Configurez le projet pour spécifier les déclencheurs et les autres options de configuration de construction. | DevOps | 

### Configuration d'AWS Device Farm
<a name="configure-aws-device-farm"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un projet Device Farm. | Ouvrez la console AWS Device Farm. Créez un projet et un pool d'appareils à des fins de test. Pour obtenir des instructions, consultez le billet de blog. | Developer | 

### Configuration du référentiel source
<a name="configure-the-source-repository"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un CodeCommit référentiel. | Créez un référentiel dans lequel le code source sera stocké. | DevOps | 
| Enregistrez le code de votre application dans le référentiel. | Connectez-vous au CodeCommit référentiel que vous avez créé. Transférez le code de votre machine locale vers le référentiel. | DevOps | 

### Configuration du pipeline
<a name="configure-the-pipeline"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un pipeline dans AWS CodePipeline. | Ouvrez la CodePipeline console AWS et créez un pipeline. Le pipeline orchestre toutes les phases du CI/CD processus. Pour obtenir des instructions, consultez le billet de blog AWS [intitulé Création et test d'applications iOS et iPadOS avec AWS DevOps et les services mobiles](https://aws.amazon.com/blogs/devops/building-and-testing-ios-and-ipados-apps-with-aws-devops-and-mobile-services/). | DevOps | 
| Ajoutez une phase de test au pipeline. | Pour ajouter une phase de test et l'intégrer à AWS Device Farm, modifiez le pipeline. | DevOps | 
| Lancez le pipeline. | Pour démarrer le pipeline et le CI/CD processus, choisissez **Release change**. | DevOps | 

### Afficher les résultats des tests d'applications
<a name="view-application-test-results"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Passez en revue les résultats des tests. | Dans la console AWS Device Farm, sélectionnez le projet que vous avez créé et passez en revue les résultats des tests. La console affichera les détails de chaque test. | Developer | 

## Ressources connexes
<a name="build-and-test-ios-apps-with-aws-codecommit-aws-codepipeline-and-aws-device-farm-resources"></a>

**Step-by-step instructions pour ce modèle**
+ [Création et test d'applications iOS et iPadOS avec AWS DevOps et les services mobiles](https://aws.amazon.com/blogs/devops/building-and-testing-ios-and-ipados-apps-with-aws-devops-and-mobile-services/) (article de DevOps blog AWS)

**Configuration d'AWS Device Farm**
+ [Console AWS Device Farm](https://console.aws.amazon.com/devicefarm)

**Configuration du référentiel source**
+ [Création d'un CodeCommit référentiel AWS](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-create-repository.html)
+ [Connectez-vous à un CodeCommit référentiel AWS](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-connect.html)

**Configuration du pipeline**
+ [ CodePipeline Console AWS](https://console.aws.amazon.com/codesuite/codepipeline/home)

**Ressources supplémentaires**
+ [ CodePipeline Documentation AWS](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)
+ [ CodeCommit Documentation AWS](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html)
+ [Documentation d'AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html)
+ [Documentation de Jenkins](https://www.jenkins.io/doc/)
+ [Installation de Jenkins sur macOS](https://www.jenkins.io/download/weekly/macos/)
+ [ CodePipeline Plug-in AWS pour Jenkins](https://plugins.jenkins.io/aws-codepipeline/)
+ [Installation de Xcode](https://developer.apple.com/xcode/)
+ [Installation](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html) et [configuration](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) de la CLI AWS
+ [Documentation Git](https://git-scm.com/docs)