🐦Codemagic Yaml + SHOREBIRD
Documentação do Codemagic.yaml para Workflows Flutter
Introdução
Estrutura do Arquivo
workflows:
android-workflow:
name: Android Workflow
instance_type: mac_mini_m1
environment:
groups:
- env # Expõe as variáveis definidas do grupo env no codemagic
android_signing:
- keystore-token # Adicione a referência para a keystore do app no codemagic
flutter: 3.19.5 # Versão do flutter para rodar a build
scripts:
- name: Set up local.properties
script: |
echo "flutter.sdk=$HOME/programs/flutter" > "$CM_BUILD_DIR/android/local.properties"
- name: Pre-build script # Passo de configuração pre build, onde os envs serão atribuídos e as dependências serão obtidas
script: |
echo $ENV | base64 --decode > .env.staging &&
echo $ENV | base64 --decode > .env.production &&
flutter clean &&
flutter pub get
- name: Build Release # Comando para gerar o .aab do app
script: |
flutter build appbundle --release --flavor staging
artifacts: # Define quais artefatos serão expostos após o final da build
- build/**/outputs/**/*.aab
- build/**/outputs/**/*.apk
- build/**/outputs/**/mapping.txt
- flutter_drive.log
publishing:
email: # Define quais email receberão notificações do sucesso ou falha da build
recipients:
- dev@loomi.com.br
notify:
success: true # Define se deve notificar no sucesso da build
failure: false # Define se deve notificar na falha da build
ios-workflow:
name: iOS Workflow
instance_type: mac_mini_m1
integrations:
app_store_connect: Reference # Adiciona a referência para a API key do projeto do Apple Developer Portal
environment:
groups:
- env # Expõe as variáveis definidas do grupo env no codemagic
ios_signing:
distribution_type: app_store # Define o tipo de distribuição do app
bundle_identifier: br.com.loomi.example # Bundle ID do app
flutter: 3.19.5 # Versão do flutter para rodar a build
xcode: latest # Versão do xcode para rodar a build
cocoapods: default # Versão dos cocoapods
scripts:
- name: Set up code signing settings on Xcode project
script: |
xcode-project use-profiles
- name: Pre-build script # Passo de configuração pre build, onde os envs serão atribuídos e as dependências serão obtidas
script: |
echo $ENV | base64 --decode > .env.staging &&
echo $ENV | base64 --decode > .env.production &&
flutter clean &&
flutter pub upgrade &&
flutter pub get && cd ios &&
flutter precache --ios &&
pod update && pod install --repo-update
- name: Build Release # Comando para gerar o .ipa do app
script: |
flutter build ipa --release --flavor staging --export-options-plist=/Users/builder/export_options.plist
artifacts:
- build/ios/ipa/*.ipa
- tmp/xcodebuild_logs/*.log
- flutter_drive.log
publishing:
email: # Define quais email receberão notificações do sucesso ou falha da build
recipients:
- dev@loomi.com.br
notify:
success: true # Define se deve notificar no sucesso da build
failure: false # Define se deve notificar na falha da build
app_store_connect:
auth: integration
# Configuração relacionada ao TestFlight (opcional)
# Obs: Essa ação é executada durante o pós processamento.
submit_to_testflight: true # Define se o app deve ser publicado no TestFlight
# Configuração relacionada à AppStore (opcional)
# Obs: Essa ação é executada durante o pós processamento.
submit_to_app_store: false # Define se o app deve ser submetido para revisão na AppStoreAndroid Workflow
iOS Workflow
Integração ao Code Push Shorebird
Conclusão
Last updated