• Blog
    • Tecnologia
    • Carreira e Cultura
  • Materiais Gratuitos
  • Podcast
  • Nossas vagas
  • Site Movile
Menu
  • Blog
    • Tecnologia
    • Carreira e Cultura
  • Materiais Gratuitos
  • Podcast
  • Nossas vagas
  • Site Movile
  • Android, iFood, Tecnologia

Introdução — Bitrise CI/CD Android

Compartilhe

Compartilhar no facebook
Compartilhar no google
Compartilhar no twitter
Compartilhar no linkedin

Bitrise é uma plataforma em nuvem que proporciona o serviço de Integração contínua e Entrega contínua, com ênfase em desenvolvimento mobile (iOS, Android, Xamarin, React Native, etc).

Principais características

  1. Interface simples e intuitiva;
  2. Plano free para desenvolvedores de projetos Open Source (Developer Plan).
  3. Utilização de Step’s criados pela comunidade;
  4. Documentação objetiva;
  5. Integração com ferramentas de qualidade de código (SonarQube, Detekt, Lint, etc);

Workflow:

Um workflow é definido pelo conjunto de Steps que serão executados em ordem Top-Down. Ao criar um Workflow o arquivo bitrise.yml é gerado e nele irá conter todas as informações que serão executadas pela build. Após a execução de uma build, serão gerados os logs contendo os resultados. É possível alterar as configurações editando o arquivo bitrise.yml ou utilizando a interface de edição (Workflow Editor UI).

Exemplo de Workflow gerado pelo Bitrise (no primeiro build):

—
format_version: '6'
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
project_type: android
trigger_map:
– push_branch: "*"
workflow: primary
– pull_request_source_branch: "*"
workflow: primary
workflows:
deploy:
description: |
## To run this workflow
If you want to run this workflow manually:
1. Open the app's build list page
2. Click on **[Start/Schedule a Build]** button
3. Select **deploy** in **Workflow** dropdown input
4. Click **[Start Build]** button
Or if you need this workflow to be started by a GIT event:
1. Click on **Triggers** tab
2. Setup your desired event (push/tag/pull) and select **deploy** workflow
3. Click on **[Done]** and then **[Save]** buttons
The next change in your repository that matches any of your trigger map event will start **deploy** workflow.
steps:
– activate-ssh-key@4.0.3:
run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
– git-clone@4.0.11: {}
– cache-pull@2.0.1: {}
– script@1.1.5:
title: Do anything with Script step
– install-missing-android-tools@2.2.0:
inputs:
– gradlew_path: "$PROJECT_LOCATION/gradlew"
– change-android-versioncode-and-versionname@1.1.1:
inputs:
– build_gradle_path: "$PROJECT_LOCATION/$MODULE/build.gradle"
– android-lint@0.9.4:
inputs:
– project_location: "$PROJECT_LOCATION"
– module: "$MODULE"
– variant: "$TEST_VARIANT"
– android-unit-test@0.9.3:
inputs:
– project_location: "$PROJECT_LOCATION"
– module: "$MODULE"
– variant: "$TEST_VARIANT"
– android-build@0.9.5:
inputs:
– project_location: "$PROJECT_LOCATION"
– module: "$MODULE"
– variant: "$BUILD_VARIANT"
– sign-apk@1.2.3:
run_if: '{{getenv "BITRISEIO_ANDROID_KEYSTORE_URL" | ne ""}}'
– deploy-to-bitrise-io@1.3.15: {}
– cache-push@2.0.5: {}
primary:
steps:
– activate-ssh-key@4.0.3:
run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
– git-clone@4.0.11: {}
– cache-pull@2.0.1: {}
– script@1.1.5:
title: Do anything with Script step
– install-missing-android-tools@2.2.0:
inputs:
– gradlew_path: "$PROJECT_LOCATION/gradlew"
– android-lint@0.9.4:
inputs:
– project_location: "$PROJECT_LOCATION"
– module: "$MODULE"
– variant: "$TEST_VARIANT"
– android-unit-test@0.9.3:
inputs:
– project_location: "$PROJECT_LOCATION"
– module: "$MODULE"
– variant: "$TEST_VARIANT"
– deploy-to-bitrise-io@1.3.15: {}
– cache-push@2.0.5: {}
app:
envs:
– opts:
is_expand: false
PROJECT_LOCATION: "."
– opts:
is_expand: false
MODULE: app
– opts:
is_expand: false
BUILD_VARIANT: Debug
– opts:
is_expand: false
TEST_VARIANT: Debug

view raw
bitrise.yml
hosted with ❤ by GitHub

Step:

São representados por blocos de código que serão executados de acordo com uma order pré definida em determinado workflow. Eles são desenvolvidos pela comunidade e podem ser escrito em várias linguagem como: bash, Go, Ruby, Swift, etc. Vale lembrar que qualquer pessoa poderá criar um Step e divulgar na comunidade.

Trigger:

São os gatilhos disparados a partir de uma chamada do Webhook do projeto, essas chamadas podem ser de: push, pull request e tag.

Eles são compostos por:

  1. Type (Push, Pull Request e Tag);
  2. Source Branch;
  3. Target Branch;
  4. Workflow.

Build:

São processos definidos pelos Workflows, que são construído através do encadeamento de Steps e executados por um Trigger.
Após a build ser finalizada, podemos configurar um step para disponibilizar e/ou armazenar os artefatos gerados.

Configurando o projeto

1. Devemos adicionar um novo app no dashboard do Bitrise. Para isso é necessário acessar o link https://app.bitrise.io/apps/add

2. Definir qual conta será vinculada e o nível de privacidade do projeto;

3. Definir em qual plataforma está armazenado o repositório;

4. Definir a branch principal do projeto;

5. Neste passo o Bitrise irá validar seu projeto e a branch escolhida;

6. Após a validação, devemos definir qual será o root path do projeto, seu módulo e a variant de build;

7. Por fim, podemos adicionar um Webhook ao projeto.

Um Webhook provê mecanismos para os servidores notificarem os clients sobre mudanças nos dados, nele é aplicado o paradigma reativo. No caso do Bitrise, iremos utilizar um Webhook que ficará responsável por observar as mudanças em uma determinada branch e a partir de uma mudança ele irá disparar o Trigger, dando início ao processo de Build.

8. Após a configuração, o Bitrise irá executar automaticamente o seu primeiro Build. Ele seguirá os passos definidos pelo Workflow primário (gerado automaticamente, com validações de Lint e testes unitários).

Compartilhe isso:

  • Tweet

Curtir isso:

Curtir Carregando...
Gabriel Prado

Gabriel Prado

Deixe um comentário

Categorias

Categorias
  • Android
  • Backend
  • Banco de Dados
  • BI
  • Carreira
  • Carreira e Cultura
  • Carreira e Cultura
  • Ciência de Dados
  • Cultura
  • Data Specialist
  • Design
  • Diversidade
  • Front-end
  • Frontend
  • Fundação 1Bi
  • Grupo Movile
  • Histórias
  • iFood
  • Infraestrutura
  • Inteligência Artificial
  • iOS
  • iOS App Development
  • Kotlin
  • kubernetes
  • LeaderShift
  • Material
  • Mobile
  • Mobile Dream
  • Movile
  • Movilian@s
  • News
  • PlayKids
  • Podcast
  • Produto
  • Projetos
  • React
  • RESPECT
  • Software Architecture
  • Software Engineering
  • Solid
  • Swift
  • SwiftUI
  • Sympla
  • Technology
  • Tecnologia
  • testes
  • UX
  • Vagas
  • Wavy
  • Zoop

Posts relacionados

Dart Extension Methods na prática

Leia mais »
Kubernetes

Papo Sobremesa #11 – Chapter Backend

Leia mais »
Jetpack

Utilizando a nova versão do Jetpack Paging

Leia mais »
SOLID

Swift: Princípio de Substituição de Liskov [Artigo 3]

Leia mais »
Tags
Agile Android Apache api App Apps Arquitetura Autoconhecimento Backend Banco de Dados BI Blog bot Bots Cache Carreira Carreira e Cultura Cloud code containers Continuos integration Cultura Dados Dados Probabilísticos data Data Center Data Science Desenvolvimento Design devs digital diversidade DSL Entrevista Evento eventos Experiências Facebook front Front-end Frontend Full-stack Fundação 1Bi Gestão GO google Groovy grupo Grupo Movile histórias home iFood Infraestrutura Inteligencia artificial iOS Java jetpack Json Kotlin kubernetes layout Liderança linguagem loadview Machine Learning marketplace Mobile Movile Movilianos news Objective-C PlayKids podcast produto Projetos pwa python Rapiddo react Reativas Redis research review RH Room spark Spring stack storyboards Superplayer Swift Sympla Talentos tdd Tecnologia Testes transformação digital Unity ux vagas Valores view viewcode viewcontroller viper Voxel vue wavy web Widget Zoop

Siga-nos

Facebook-f
Linkedin
Instagram
Youtube
Twitter

Baixe nosso e-book!

Receba conteúdos exclusivos em seu email!

Seus dados estão protegidos conosco.

Menu

  • Tecnologia
  • Carreira e Cultura
  • Materiais Gratuitos
  • Podcast
Menu
  • Tecnologia
  • Carreira e Cultura
  • Materiais Gratuitos
  • Podcast

principais categorias

  • Tecnologia
  • Carreira e Cultura
  • News
  • Movile
  • Backend
  • Android
Menu
  • Tecnologia
  • Carreira e Cultura
  • News
  • Movile
  • Backend
  • Android

FEED RSS

RSS Feed RSS - Posts

RSS Feed RSS - Comentários

redes sociais

  • Facebook
  • LinkedIn
  • Instagram
  • Youtube
  • Twitter

Copyright 2021 © Todos os direitos reservados. Criação de Site por UpSites & Weblab

  • Novas Vagas!

  • Último Podcast!

%d blogueiros gostam disto: