Como automatizamos o desenvolvimento de aplicativos WL

White Label é um aplicativo móvel que pode ser customizado para qualquer marca: crie com cores corporativas, selecione os blocos e funcionalidades necessárias, adicione uma descrição. Nós os lançamos com base na Rambler / caixa registradora desde 2015 e, neste artigo, queremos contar como conseguimos automatizar e acelerar o desenvolvimento do WL.







Rambler / bilheteria é um serviço e aplicativo online de venda de ingressos para shows, teatro, cinema, esportes e outros eventos. Também estamos desenvolvendo outras ofertas B2B para parceiros: um SDK móvel, widgets embutidos para sites e redes sociais, um sistema de CRM para análise de vendas e audiência, além de uma série de soluções tecnológicas. Mas hoje vamos nos concentrar apenas em WL.



O que veio antes



Depois de receber um pedido de aplicação WL, o gerente de projeto teve que reformar e refinar todos os requisitos, transferindo-os para o gerente da equipe. Ele, por sua vez, mais uma vez esclareceu e solicitou todos os parâmetros necessários e, em seguida, distribuiu o trabalho entre designers, desenvolvedores e testadores. Além disso, para criar um aplicativo WL, você precisa criar um novo destino no projeto, percorrer todos os arquivos de configuração, definir os IDs necessários para vários serviços, definir cores, fontes, imagens, etc.







Em condições ideais, o desenvolvimento de um novo WL deve levar pelo menos 2-3 dias - um para desenvolvedores iOS e Android, além de testes. Se um funcionário se depara com a criação de um aplicativo WL pela primeira vez, a tarefa pode levar até três dias para ele, o que aumenta o tempo total de trabalho. Portanto, para Rambler / Caixa, criar um aplicativo WL é uma tarefa rotineira que caiu sobre os ombros dos desenvolvedores e tirou deles um tempo valioso.



Quais foram as soluções



  1. Foi possível deixar tudo como está e continuar a gastar regularmente o tempo dos desenvolvedores na criação "manual" de WL.
  2. A segunda opção é desenvolver uma solução que automatize o processo de criação de novos WLs sem envolver recursos de desenvolvimento. Ao mesmo tempo, não importa a frequência com que as solicitações de criação de novos WLs sejam recebidas, pois a tarefa será executada com o mínimo de esforço.


Depois de analisar a frequência de solicitações para criar novos WLs, decidimos ficar com a segunda opção. Isso permitirá que você gaste um recurso de desenvolvimento apenas uma vez, mas fornecerá à empresa uma ferramenta que permite realizar uma tarefa com rapidez, com o mínimo de esforço e utilizar apenas o tempo dos gestores e do suporte técnico para isso.



Como funciona a solução



Lançamos um site com um painel administrativo na forma de microsserviços - uma nova seção no painel de administração existente (CMS) para gerenciar vendas e vitrines de Rambler / Caixa. Desenvolvemos scripts para iOS e Android que criam um novo aplicativo localmente no projeto e fornecem todos os parâmetros necessários para ele.



O RabbitMQ é usado como agente de mensagens e todas as configurações são salvas no arquivo e publicadas no Rambler Artifactory. A API GitLab é então usada para iniciar o processo de construção nos repositórios móveis.



No backend, um arquivo é formado com arquivos JSON contendo as informações inseridas no painel administrativo e gráficos. O gatilho Gitlab CI chama o pipeline, nos parâmetros para os quais ele passa o link para o arquivo do Artifactory. O script configurado na máquina de construção e localizado na raiz do projeto é iniciado com um link de parâmetro de entrada.



Script para iOS Um



script Ruby descompacta o arquivo, envia os dados necessários por todo o projeto e, em seguida, transfere o controle para a próxima tarefa, que confirma as alterações, atualiza os pods e monta a montagem com subsequente exibição na App Store.



Script Android



Joba puxa as bibliotecas jq e descompactação necessárias. A biblioteca "unzip" descompacta o arquivo, o script analisa o json usando "jq", cria uma nova pasta no módulo "app" e verifica se há um arquivo .jks para o aplicativo em questão.



Se o aplicativo for novo, este arquivo será criado depois que o APK de lançamento for montado e o script o enviar para o firebase - ele atualiza o aplicativo no Market. Em seguida, a tarefa verifica se um novo arquivo .jks apareceu e, se houver, o envia ao GitLab.



Além disso, foi implantado um serviço que monitora o status de assemblies em execução e atualiza seus status para que você possa monitorar o processo e controlar os problemas emergentes.



Na prática, a automação da criação de aplicativos WL se parece com este



  1. / , , , , , .
  2. .
  3. .
  4. (ID , , , ..).
  5. « », .
  6. App Store Google Play CI.








Automatizamos a criação de aplicativos WL tanto quanto possível. Anteriormente, o próprio processo de desenvolvimento levava de 2 a 3 dias e tirava os recursos dos programadores, mas agora o gerente conduz todos os dados em 15 minutos e, após cerca de 20 minutos, a montagem é criada automaticamente e enviada ao controle de qualidade para teste. Nossos parceiros obtêm todas as oportunidades que estão disponíveis no Rambler / checkout, e nós economizamos tempo, recursos e minimizamos erros.



All Articles