Bitrise é uma plataforma CI/CD especializada para desenvolvimento móvel, construída em torno de Steps prontos — módulos pré-configurados para compilar, assinar e publicar aplicativos iOS e Android. De acordo com Bitrise, 2024, a plataforma suporta mais de 400 Steps prontos e integra-se com Xcode, Gradle, Fastlane, Firebase e App Store Connect.
Pontos principais
Bitrise é uma plataforma CI/CD lançada em 2016 e totalmente focada em desenvolvimento móvel. Ao contrário de soluções universais como GitHub Actions e GitLab CI, a Bitrise foi originalmente projetada para automatizar a compilação de aplicativos iOS e Android. A plataforma funciona na nuvem e fornece seus próprios runners hospedados com macOS e Linux. A Bitrise suporta todos os stacks móveis populares: Swift, Kotlin, Flutter, React Native, Cordova e Xamarin.
A principal vantagem da Bitrise são os modelos de Step pré-configurados para tarefas típicas de desenvolvimento móvel: compilação Xcode, Gradle assemble, Fastlane, Firebase Distribution, TestFlight, Google Play. A configuração do pipeline leva minutos através do editor visual, e a configuração YAML é gerada automaticamente no arquivo bitrise.yml. Para usuários experientes, um editor YAML com autocompletar está disponível.
A arquitetura Bitrise é construída em dois conceitos-chave: Workflow e Step. Um Workflow é uma sequência de Steps que define o pipeline. Cada projeto pode ter vários Workflows: primary (compilação principal), deploy (publicação), test (apenas testes). Um Workflow é acionado por eventos: push, PR, tag ou por agendamento. Workflows também podem ser iniciados manualmente pela interface web, útil para compilações ad-hoc.
Um Step é um módulo atômico que executa uma única tarefa. Os Steps podem ser arrastados no editor visual, alterando sua ordem e configuração. A Bitrise fornece Steps para Xcode Archive & Export, Gradle Runner, CocoaPods Install, Firebase Distribution e notificações do Slack. A comunidade também cria Steps — eles estão disponíveis através da Step Library. Cada Step possui parâmetros de entrada obrigatórios e opcionais, bem como variáveis de saída que podem ser usadas por Steps subsequentes.
A Bitrise suporta o conceito de Pipeline — combinação de vários Workflows em um único pipeline. Um Pipeline pode incluir compilações principais para todas as plataformas e workflows separados para implantação e teste. Isso permite criar processos CI/CD complexos onde uma compilação aciona outra. Os Stacks da Bitrise determinam o software pré-instalado no runner: Xcode, Android SDK, Flutter, Node.js e outras ferramentas.
A Bitrise integra-se com GitHub, GitLab, Bitbucket e Azure DevOps. Ao conectar um repositório, a Bitrise detecta automaticamente o tipo de projeto (iOS, Android, Flutter) e sugere um modelo de Workflow. Para repositórios privados, a Bitrise solicita acesso via OAuth ou chave SSH. Múltiplos repositórios podem ser conectados a um único aplicativo.
Após a conexão, a Bitrise cria um webhook no repositório para iniciar automaticamente as compilações ao fazer push e PR. Cada compilação recebe um número único, logs e artefatos. A interface permite navegar pelo histórico de compilações, comparar alterações e reiniciar builds com falha. A Bitrise também suporta compilações agendadas para builds noturnos regulares e integração com Jira para rastreamento de commits.
O code signing para iOS é uma das tarefas mais complexas de CI/CD, e a Bitrise a resolve da maneira mais simples possível. A plataforma armazena certificados e perfis de provisionamento de forma criptografada, instala-os automaticamente no keychain apropriado antes da compilação e exporta o IPA assinado. O Step Certificate and Profile Installer baixa os arquivos do armazenamento Bitrise e configura o Xcode. Tipos de certificado Development, AdHoc, AppStore e Enterprise são suportados.
Para publicar na App Store Connect, a Bitrise fornece Steps para upload de IPA via Xcode Archive & Export. A publicação no Google Play usa Gradle Runner com assinatura via Keystore, após o qual o APK/AAB é enviado para o Google Play Console através do Google Play Deploy Step. Para Firebase App Distribution, basta especificar o Firebase Token e o grupo de testadores. A Bitrise automatiza a atualização do número de versão e número de compilação antes de cada publicação.
Os certificados são carregados na seção Code Signing da interface web: P12 com chave privada, perfil de provisionamento (.mobileprovision), Keystore (.jks/.keystore) para Android. A Bitrise automaticamente instala certificados iOS no keychain a cada execução do Workflow e exporta o aplicativo assinado. Para Android, basta carregar o arquivo Keystore — a Bitrise o passa para o Gradle através de variáveis de ambiente durante a compilação.
Vamos ver um Workflow para um aplicativo Flutter que compila e publica builds para iOS e Android. A Bitrise automaticamente detecta um projeto Flutter e sugere os Steps apropriados. O Workflow inclui instalação do Flutter, cache pub-cache, compilação, teste e implantação. Para compilações iOS, certificados de code signing são adicionalmente necessários, que a Bitrise carrega automaticamente.
Ao compilar aplicativos Flutter, a Bitrise suporta configuração separada para cada plataforma. Compilações Android executam em um runner Linux com Flutter SDK, iOS em um runner macOS. Um Workflow pode incluir Steps condicionais: build_android e build_ios, que executam apenas em suas respectivas plataformas. Para projetos React Native, a Bitrise oferece um conjunto similar de Steps com npm/nvm e Metro bundler.
format_version: 13
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
trigger_map:
- push_branch: main
workflow: primary
workflows:
primary:
steps:
- activate-ssh-key@4:
run_if: true
- git-clone@8: {}
- flutter-installer@0:
inputs:
- version: 3.24.0
- flutter-build@0:
inputs:
- platform: both
- ios_output_type: archive
- deploy-to-bitrise-io@2: {}
Após a compilação, pode-se adicionar um Step Firebase App Distribution para iOS e Android. O Step aceita firebase_token, app_id e testers_group. A Bitrise substitui valores de Secrets — o armazenamento seguro de tokens garante que eles não apareçam nos logs.
- firebase-app-distribution@1:
inputs:
- firebase_token: $FIREBASE_TOKEN
- app_id: $FIREBASE_IOS_APP_ID
- testers_group: qa-team
- release_notes: |
Build $BITRISE_BUILD_NUMBER
O gerenciamento adequado de dados confidenciais é a base da segurança dos processos CI/CD. Os Secrets da Bitrise são criptografados e ilegíveis após o salvamento. Ao criar um novo aplicativo, a Bitrise oferece importar secrets de outro projeto ou defini-los manualmente. Para equipes grandes, o recurso Environment Groups está disponível — gerenciamento centralizado de variáveis e secrets para um grupo de aplicativos.
A Bitrise fornece armazenamento interno de Secrets para dados confidenciais: chaves de API, tokens Firebase, senhas Keystore, Apple ID. Os Secrets são definidos como pares chave-valor na interface web e são mascarados nos logs de compilação. Eles estão disponíveis no nível do aplicativo e no nível do Workflow. Secrets não podem ser lidos após o salvamento — eles só podem ser sobrescritos.
Variáveis de Ambiente (sem a marca Secret) são usadas para configuração: versão do Xcode, caminho do projeto, esquema de compilação. As variáveis de ambiente da Bitrise (BITRISE_BUILD_NUMBER, BITRISE_APP_TITLE) fornecem meta-informação sobre a compilação. Secrets são criptografados em repouso e descriptografados apenas no runner durante a execução do Workflow. Para gerenciamento em grupo de variáveis, a Bitrise suporta Environment Groups — conjuntos de variáveis aplicáveis a múltiplos aplicativos simultaneamente.
Menção especial merece o gerenciamento de certificados iOS através da Bitrise. A plataforma automaticamente instala P12 e perfis de provisionamento no keychain do sistema antes da compilação. Para Android, o arquivo Keystore é usado, carregado na seção Code Signing. Cada arquivo de certificado é armazenado criptografado e descriptografado apenas durante a compilação.
- google-play-deploy@3:
inputs:
- package_name: com.example.app
- service_account_json_key: $SERVICE_ACCOUNT_KEY
- app_file: $BITRISE_APK_PATH
A Bitrise oferece vários stacks para compilação — imagens pré-instaladas com ferramentas e SDKs. Os stacks disponíveis incluem Xcode (versões 14, 15, 16 com iOS SDK 17, 18), Android (com diferentes versões de SDK e NDK), Flutter, React Native e Kotlin Multiplatform. Cada stack tem uma descrição das ferramentas e versões pré-instaladas.
A seleção do stack afeta o tempo de compilação e a compatibilidade com o projeto. A Bitrise atualiza regularmente os stacks, adicionando novas versões de ferramentas. Pode-se fixar uma versão específica do stack em bitrise.yml para evitar alterações inesperadas ao atualizar a plataforma. Para dependências personalizadas, o Script Step é usado para instalar pacotes necessários antes da compilação principal. A Bitrise também suporta imagens Docker para stacks Linux, permitindo ambientes personalizados para compilações Android.
Perguntas frequentes
A Bitrise oferece um plano gratuito com 90 minutos de compilação por mês e uma compilação concorrente. Developer ($79/mês) inclui 3000 minutos, até 5 compilações concorrentes e todas as integrações. Enterprise — preços personalizados.
A Bitrise suporta iOS (Swift, Objective-C), Android (Kotlin, Java), Flutter, React Native, Cordova, Ionic e Xamarin. Cada plataforma tem ferramentas pré-instaladas e modelos de Workflow.
A Bitrise fornece runners macOS para compilações iOS sem configuração adicional. A plataforma gerencia a infraestrutura macOS automaticamente — o runner é selecionado conforme o stack do aplicativo.
A Bitrise armazena certificados de forma criptografada e os instala automaticamente no keychain antes da compilação através do Step Certificate and Profile Installer. Para Android similarmente — o Keystore é carregado e usado pelo Gradle durante a assinatura.
Sim, a Bitrise suporta Steps personalizados através do Script Step (script bash) e Step Libraries personalizadas do GitHub. Você também pode criar seu próprio Step conforme a documentação da Bitrise e publicá-lo na Step Library.
Resumo
Vamos desenvolver um aplicativo móvel chave na mão
A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.
Leia também