

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Crie e teste aplicativos iOS com AWS CodeCommit CodePipeline, AWS e 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*

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

Esse padrão descreve as etapas para criar um pipeline de integração contínua e entrega contínua (CI/CD) que usa CodePipeline a AWS para criar e testar aplicativos iOS em dispositivos reais na AWS. O padrão usa CodeCommit a AWS para armazenar o código do aplicativo, a ferramenta de código aberto Jenkins para criar o aplicativo iOS e o AWS Device Farm para testar o aplicativo criado em dispositivos reais. Essas três fases são orquestradas juntas em um pipeline usando a AWS. CodePipeline

Esse padrão é baseado na postagem [Criando e testando aplicativos iOS e iPadOS com a AWS DevOps e serviços móveis](https://aws.amazon.com/blogs/devops/building-and-testing-ios-and-ipados-apps-with-aws-devops-and-mobile-services/) no DevOps blog da AWS. Para obter instruções detalhadas, consulte a postagem do blog.

## Pré-requisitos e limitações
<a name="build-and-test-ios-apps-with-aws-codecommit-aws-codepipeline-and-aws-device-farm-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Uma conta de desenvolvedor da Apple
+ Servidor de compilação (macOS)
+ [Xcode](https://developer.apple.com/xcode/) versão 11.3 (instalado e configurado no servidor de compilação)
+ AWS Command Line Interface (AWS CLI), [instalada](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html) e [configurada](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) na estação de trabalho
+ Conhecimento básico do [Git](https://git-scm.com/docs)

**Limitações **
+ O servidor de compilação do aplicativo deve estar executando o macOS. 
+ O servidor de compilação deve ter um endereço IP público, para que CodePipeline possa se conectar a ele remotamente para iniciar as compilações.

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

**Pilha de tecnologia de origem**
+ Um processo de criação de aplicativo iOS on-premises que envolve o uso de um simulador ou teste manual em dispositivos físicos

**Pilha de tecnologias de destino**
+ Um CodeCommit repositório da AWS para armazenar o código-fonte do aplicativo
+ Um servidor Jenkins para compilações de aplicativos usando o Xcode
+ Um pool de dispositivos do AWS Device Farm para testar aplicativos em dispositivos reais

**Arquitetura de destino**

Quando um usuário confirma alterações no repositório de origem, o pipeline CodePipeline (AWS) busca o código do repositório de origem, inicia uma compilação do Jenkins e passa o código do aplicativo para o Jenkins. Após a construção, o pipeline recupera o artefato de construção e inicia um trabalho do AWS Device Farm para testar o aplicativo em um pool de dispositivos.

 

![O pipeline de CI/CD usa CodePipeline a AWS para criar e testar aplicativos iOS em dispositivos reais.](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/06fbd82f-4aed-441c-818c-5f89f56af78e/images/0ae3d7b6-b40c-44ef-9580-8c8266c3d841.png)


## Ferramentas
<a name="build-and-test-ios-apps-with-aws-codecommit-aws-codepipeline-and-aws-device-farm-tools"></a>
+  CodePipelineA [AWS](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) é um serviço de entrega contínua totalmente gerenciado que ajuda você a automatizar seus pipelines de lançamento para atualizações rápidas e confiáveis de aplicativos e infraestrutura. CodePipeline automatiza as fases de criação, teste e implantação do seu processo de lançamento sempre que houver uma alteração no código, com base no modelo de lançamento que você define.
+  CodeCommitA [AWS](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) é um serviço de controle de origem totalmente gerenciado que hospeda repositórios seguros baseados em Git. Isso facilita a colaboração das equipes no código em um ecossistema seguro e altamente escalável. CodeCommit elimina a necessidade de operar seu próprio sistema de controle de origem ou a preocupação com a escalabilidade de sua infraestrutura.
+ O [AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html) é um serviço de teste de aplicações que permite melhorar a qualidade dos aplicativos web e móveis, testando-os em uma ampla variedade de navegadores com área de trabalho e dispositivos móveis reais, sem a necessidade de provisionar e gerenciar qualquer infraestrutura de teste.
+ [Jenkins](https://www.jenkins.io/): é um servidor de automação de código aberto que permite aos desenvolvedores construir, testar e implantar seu software.

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

### Configurar o ambiente de construção
<a name="set-up-the-build-environment"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale o Jenkins no servidor de compilação que está executando o macOS. | O Jenkins será usado para criar o aplicativo, portanto, primeiro você deve instalá-lo no servidor de compilação. Para obter instruções detalhadas para essa tarefa e para as tarefas subsequentes, consulte a postagem do blog da AWS [Criando e testando aplicativos iOS DevOps e iPadOS com a AWS e serviços móveis](https://aws.amazon.com/blogs/devops/building-and-testing-ios-and-ipados-apps-with-aws-devops-and-mobile-services/) e outros [recursos na seção Recursos relacionados](#build-and-test-ios-apps-with-aws-codecommit-aws-codepipeline-and-aws-device-farm-resources) no final desse padrão. | DevOps | 
| Configure o Jenkins. | Siga as instruções da tela para configurar o Jenkins. | DevOps | 
| Instale o CodePipeline plug-in da AWS para Jenkins. | Esse plug-in deve ser instalado no servidor Jenkins para que o Jenkins interaja com o serviço da AWS CodePipeline . | DevOps | 
| Crie um projeto de estilo livre no Jenkins. | No Jerkins, crie um projeto de estilo livre. Configure o projeto para especificar acionadores e outras opções de configuração de compilação. | DevOps | 

### Configurar o AWS Device Farm
<a name="configure-aws-device-farm"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um projeto Device Farm. | Abra o console do AWS Device Farm. Crie um projeto e um pool de dispositivos para testes. Para obter instruções, consulte a publicação do blog. | Desenvolvedor | 

### Configurar o repositório de origem
<a name="configure-the-source-repository"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um CodeCommit repositório. | Crie um repositório onde o código-fonte será armazenado. | DevOps | 
| Confirma o código do seu aplicativo para o repositório. | Conecte-se ao CodeCommit repositório que você criou. Enviar o código de sua máquina local para o repositório. | DevOps | 

### Configure o pipeline
<a name="configure-the-pipeline"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um pipeline na AWS CodePipeline. | Abra o CodePipeline console da AWS e crie um pipeline. O pipeline orquestra todas as fases do CI/CD processo. Para obter instruções, consulte a postagem do blog da AWS [Criando e testando aplicativos iOS e iPadOS com a AWS DevOps e serviços móveis](https://aws.amazon.com/blogs/devops/building-and-testing-ios-and-ipados-apps-with-aws-devops-and-mobile-services/). | DevOps | 
| Adicionar um estágio de teste ao pipeline. | Para adicionar uma etapa de teste e integrá-la ao AWS Device Farm, edite o pipeline. | DevOps | 
| Inicie o pipeline. | Para iniciar o pipeline e o CI/CD processo, escolha **Release change**. | DevOps | 

### Veja os resultados dos testes de aplicativos
<a name="view-application-test-results"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Revisar os resultados do teste. | No console do AWS Device Farm, selecione o projeto que você criou e analise os resultados dos testes. O console mostrará os detalhes de cada teste. | Desenvolvedor | 

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

**Step-by-step instruções para esse padrão**
+ [Criação e teste de aplicativos iOS e iPadOS com a AWS DevOps e serviços móveis](https://aws.amazon.com/blogs/devops/building-and-testing-ios-and-ipados-apps-with-aws-devops-and-mobile-services/) (publicação DevOps no blog da AWS)

**Configurar o AWS Device Farm**
+ [Console AWS Device Farm](https://console.aws.amazon.com/devicefarm)

**Configurar o repositório de origem**
+ [Crie um CodeCommit repositório da AWS](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-create-repository.html)
+ [Conecte-se a um CodeCommit repositório da AWS](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-connect.html)

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

**Recursos adicionais**
+ [ CodePipeline Documentação da AWS](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)
+ [ CodeCommit Documentação da AWS](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html)
+ [Documentação do AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html)
+ [Documentação do Jenkins](https://www.jenkins.io/doc/)
+ [Instalação do Jenkins no macOS](https://www.jenkins.io/download/weekly/macos/)
+ [ CodePipeline Plug-in AWS para Jenkins](https://plugins.jenkins.io/aws-codepipeline/)
+ [Instalação do Xcode](https://developer.apple.com/xcode/)
+ [Instalação](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html) e [configuração](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) da AWS CLI
+ [Documentação do Git](https://git-scm.com/docs)