Carregando...

Automatizando deploy com Fastlane

13 de maro 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á....

Swift - Gerando Doc com jazzy

27 de outubro de 2017

 

Olá pessoal. Hoje vou explicar de uma maneira bem simples como podemos gerar uma documentação de nosso aplicativo de uma forma bem rápida e sem dor de cabeçar. Usando o Jazzy

 

 

Jazzy

O Jazzy é uma ferramenta de linha de comando que gera a documentação de nosso projeto baseada na documentação de cada código fonte, classe, função , struct ...

Ele suporta alguns bons tipos de formato de marcação abaixo alguns links.

A lista completa e documentação pode ser encontradas no pŕoprio git do Jazzy

Bom vamos por a mão na massa.
 

MacOS

Instalação

Precisamos ter instaladao o Ruby em nossa maquina. portanto abra o terminal e digite:  ruby --version

Caso não tenha instalado recomendo o RVM ou instele via Brew.

Feito?

Certo seguimos então com o seguinte comando:

sudo gem install jazzy

Aguarde o final da instalação e pronto já podemos usar. O Jazzy tem seu próprio help parão digitando o jazzy -h

 

Um exemplo basico de documentação.

/**

         Documentação para func com param

     

     - Parameter login: ***String*** com login

     

     - SeeAlso: `Usuario`

     */

    func testeDoc(login: String){

 

.   ...

    }

 

Para excluir da documentação use uma declaração de comentário para documentação com  :nodoc:

/**

 :nodoc:

 */

class AppDelegate: UIResponder, UIApplicationDelegate {

....

 }

 

 

Gerando a documentação

 

Feito isso você precisa voltar para o terminal entre na pasta raiz do projeto e execute o comando:  jazzy --min-acl internal

Vocë deve ter a seguinte saída

 

 

porque --min-acl internal ?

Você poderia apenas executar jazzy  Mas a  documentação deixa claro que por padrão ele procura por padrão declarações publicas e abertas.

Como nosso código é bem padrão precisamos setar o internal como parametro de requisito minimo de geração.

 

Acessando a documentação

 

Entre na pasta do projeto e procurar por outra chamada docs. Dentro dela existe um arquivo index.html dois clicks neste arquivo e a documentação é aberta no navegador padrão de sua maquina.

 

 

- Note que nesta imagem acima a classe AppDelegate ainda aparece. Se você baixar o reposiório do post verá que a documentação com :nodoc: foi adicionada e ela foi removida da documentação final.

 

Deixei todo o fonte e doc em meu git para darem uma olhada segue o link Git postjazzy

 

Linux

Em breve ... estou montando certinho o passo a passo. pois é um pouco diferente na parte de dependências.

 

 

 

Simples não?

 

Como eu gosto de dizer. Uma boa documentação vale por mil palavras.

 

 

Hello World  -  Resiliência em tempos de crise

30 de junho de 2017

Primeiramente. Obrigado a você que teve interesse em ler o que começo a escrever a partir de hoje. Tenho minha conta no Medium (Texto migrado do meu Medium) a algum tempo consumo conteúdo mas nunca me dediquei a publicar algo, até não por falta de vontade mas por rotina de outras coisas. E é um pouco sobre estas outras coisas que venho escrever para vocês hoje.

Trabalho com Desenvolvimento de Sistemas atualmente Front-end em uma empresa aqui de Porto Alegre. Sou dono de uma empresa chamada Masters Mx e que em 2015 precisei infelizmente deixar um pouco o sonho de ter o próprio negócio de lado para sobreviver e alimentar um pequeno Golden Retriever de 45kg chamado Simba.

 

Simba

Simba JR Lütz Tiento Golden True Love

 

Quando em 2011 decidi largar um emprego bom na minha área para seguir um sonho que tinha des de pequeno o frio na barriga bateu mas a vontade era maior que ela. A jornada é complicada, muito energético ansiedade, medo. Os projetos vem atrasos ocorrem, problemas acontecem. Você tem seu carro arrombado em um supermercado e furtam seu notebook com um projeto de potencial muito bom que você não havia feito backup. É amigo a primeira tijolada vem e te acerta no meio. Primeiro projeto cancelado.

Você continua pois são coisas que acontecem, investe em um novo computador e segue em frente. São muitos leões para se matar e algumas mulas para se aturar. Consegui manter projetos funcionais ver a empresa prosperar por 5 anos. Vi pessoas que não acreditavam me falar que gostariam de ter tido a coragem que tive quando eram mais novos.

Tentar e fracassar entra na rotina, mas sempre vão existir pessoas que acreditam e investem em você e em seu projeto. Posso dizer que não sou de família rica e não herdei o negócio da família, mas tive a melhor investidora que se pode ter. Dona Sandra minha amada mãe, investiu em mim quando tinha e quando não tinha.
Quando inventava um negócio para fazer dinheiro mas que não ia muito adiante. Responsável por me dar meu primeiro computador 486 dx, de Com um 16 cores e um mouse que não funcionava no qual com a ajuda de um Guru chamado Gelson fez o teclado virar um mouse pelas setas do teclado numérico.
Ahh só para saberem Gelson é meu tio físico e também da área de tecnologia, lembro dele me mostrando como clicar em um botão e fazer uma imagem de um foguete andar na tela a alguns bons anos em VB6(Visual Basic) este mesmo que instalou a primeira versão do Front-Page naquele 486 e que em 2001 conversamos e eu disse que queria fazer sites, como aprendi?

Simples…

  1.  Ente em um site;
  2.  Clique com o direito do mouse e exiba o código fonte;
  3.  Copie o código e cole no seu editor de html;
  4.  Abra o arquivo no navegador;
  5.  Edite o código copiado e veja o que acontece;


Foi o roteiro que me foi passado e que funcionou. Mas não é só isso.

Gato

Empreender e quem é empreendedor sabe, é deixar muitas coisas de lado, dizer não para gastos, passeios roupas da moda, lançamentos de jogos, festas …

Mas e a resiliência?

Bom pessoal do meu ponto de vista a resiliência é um exercício e que precisa de algum esforço de sua parte. Tudo o que resumi aqui e é sério não contei muita coisa para não virar um livro. Procure na sua vida coisas que te inspiram e que te fazem seguir em frente, isso te da força para levantar e seguir. Como já dizia nosso amigo Alfred Thaddeus Crane Pennyworth


Para que caímos Sr. Wayne? … Para aprendermos a nos levantar.


Hoje estou tentando levantar novamente minha empresa e sei que em breve voltamos ao trilho. E focando no desenvolvimento de aplicativos nativos iOS.
Se você leu até aqui obrigado e te desejo muita força. Pretendo trazer um conteúdo legal aqui para quem é desenvolvedor ou não.


"Não desista de seus sonhos pois sonhar é um grande passo para o futuro."
- Michel Anderson Lütz Teixeira

 

Minha Inspiração

Essa é minha inspiração (Eu, Simba e minha Noiva Karen)

Desenvolvido por Masters Mx