Carregando...

Automatizando deploy com Fastlane

13 de March de 2018

fastlane é uma plataforma de código aberto mantida pelo Google destinada a simplificar a implantação de Android e iOS.

O fastlane permite automatizar todos os aspectos do seu desenvolvimento e liberar o fluxo de trabalho.

Link do projeto: https://fastlane.tools

 

Suporte com Integração Contínua

 
 
Vou criar um tutorial para o setup inicial e posteriormente vou evoluindo, no final deste poste você será capas de:
  • Criar o app no Developers Portal da Apple;
  • Criar o app na Itunes Connect;
  • Gerar certigicados de provisionamento de desenvolvimento e de distribuição;
  • Enviar seu app para revisão

 

Requisitos

O processo todo foi feito em um MacOS

São necessários previamente instalados os itens abaixo.

  • Xcode instalado
  • Xcode Command Line Tools ( abra o terminal e execute ) xcode-select —install
  • Brew
  • Bundler
 

Instalando Brew


# Instalar
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# Testes de permissões
brew doctor

# Atualizar Brew
brew update

# Instalar Brew Cask, para instalar apps pelo terminal
brew tap caskroom/cask

Instalando Budler

# Instalar Bundler
sudo gem install bundler

Repositório

 
Além disso recomendo já ter criado também uma conta no Bitbucket ou outro de sua preferência, o Bitbucket será usado para criar um repositório privado para os certificados.
 
Não esqueça que é necessário também uma conta de desenvolvedor Apple ID. 
 

Dependências para certificados e usuários desenvolvedores e CI

O fastlane tem um controle de certificados e recomenda o uso de um repositório git privado para armazenamento destes.

Em caso de conta de desenvolvedor (empresa) Team onde se permite adicionar mais desenvolvedores, recomenda-se criar uma nova apple id (usuário e email para este na rede) com permissões especificas de gestão de aplicativos para que este usuário faça as criações, publicações e atualizações automaticamente sem precisar usar senha de desenvolvedor global.

Fastlane pode ser usado com projetos Ionic, React Native e Projetos nativos também, uma vez que se utiliza de arquivos comuns de projetos das plataformas para realizar as automatizações. 

Para geração de screenshots é necessário implementar classes (arquivos) de testes de UI para que o build seja feito. Caso contrário basta adicionar as imagens de screenshot dentro de sua pasta especifica para que quando o release for feito ele possa adicionar as imagens no Itunes Connect ou Play Store Console. Vou criar um outro post mais para frente somente com isso.

 

Mão na massa

Abra o Xcode e crie um projeto qualquer

Na Tala com informações do projeto.

 

Desmarque a caixa Automatically manage signing

 

 

Abra o Terminal e acesse a pasta raiz do projeto.

Tendo todos os requisitos de instalação ok execute o seguinte comando.

 bundle init

este comando irá iniciar o bundler dentro do seu projeto....

Próximos passos

- Abrir o arquivo Gemfile criado pelo bundler 
- adicionar a linha de dependência
     gem "fastlane"
 
- Executar no terminal 

bundle update
 para que o bundle instale as dependências adicionadas no arquivo  Gemfile.
 
- Criar projeto na apple
	bundle exec fastlane produce

Será perguntado seu ID da Apple senha  eo Bundle ID do projeto e o nome do mesmo.

Aguarde o processo. Feito isso você pode começar a usar as ferramentas do fastlane

- Inicializando fastlane
 


	bundle exec fastlane init
 
- Singin 
 

	bundle exec fastlane match init
 
 
colocar caminho do repositorio dos certificados gerados pelo GitHub ou Bitbucket
 
https://seuusuario@bitbucket.org/seuprojeto/certificados.git
 
Para distribuição e desenvolvimento respectivamente.
	bundle exec fastlane match appstore
	bundle exec fastlane match development

É importante que neste momento você sesative o auto signing do seu projeto e selecione na caixa o perdil que tenha match elegível, conforme imagem abaixo.

 

Você pode adicionar no seu info.plist a sequinte linha

< key >ITSAppUsesNonExemptEncryption< / key >
  < false >

Remova os espaços ok?

 

A doc completa do Match você pode encontrar aqui: https://docs.fastlane.tools/actions/match/

 

No próximo post vou explicar como publicar o seu app usando o Fastlane

Até lá....

Desenvolvido por Michel Lütz