Tutorial Gitlab CI/CD con Fastlane ANDROID смотреть онлайн
Pauta FASTLANE en Android
00:00 -Intro
00:52 - Instalación e inicialización de Fastlane
1.-
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
2.-
brew install fastlane
or
sudo gem install fastlane -NV
3.-
fastlane init
04:14 - Configuración del archivo Fastfile
1.-
default_platform(:android)
platform :android do
desc "Build aplication"
lane :build do
gradle(task: "clean assembleDebug")
end
desc "Perform Unit tests"
lane :tests do
gradle(task: "test")
end
desc "Perform Instrumented tests"
lane :ui_tests do
gradle(
task: 'clean'
)
gradle(
task: 'assemble',
build_type: 'Debug'
)
gradle(
task: 'assemble',
build_type: 'AndroidTest'
)
screengrab
end
end
05:14 - Configuración del Runner
11:44 - Configuración del archivo .gitlab-ci.yml
*NOTA: Si tienes problemas con ruby, revisar comentario fijado*
1.-
stages:
- build
- test
- ui-test
variables:
LC_ALL: "en_US.UTF-8"
LANG: "en_US.UTF-8"
before_script:
- gem install bundler
build:
stage: build
script:
- fastlane build
tags:
- android
test:
stage: test
script:
- fastlane tests
tags:
- android
ui-test:
stage: ui-test
script:
- fastlane ui_tests
tags:
- android
16:22 - Prueba del archivo .gitlab-ci.yml
Recomendaciones:
1.- Verificar que las variables de entorno estén correctamente configuradas (ANDROID_HOME , ANDROID_SDK_ROOT)
2.- en caso de presentar problemas con “gradle” agregar la siguiente linea en la sección before_script del archivo yml:
- chmod +x ./gradlew
18:20 - Configuración de Screengrab
1.- Permisos para la aplicacion (Agregar simbolos MAYOR/MENOR de tags xml)
uses-permission android:name="android.permission.DISABLE_KEYGUARD"
uses-permission android:name="android.permission.WAKE_LOCK"
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
uses-permission xmlns:tools="http://schemas.android.com/tools"
android:name="android.permission.CHANGE_CONFIGURATION"
tools:ignore="ProtectedPermissions"
2.-
testImplementation 'junit:junit:4.13'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test:rules:1.3.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
androidTestImplementation 'tools.fastlane:screengrab:2.0.0'
3.-
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
4.-
Agregar esta linea al principio del test
Screengrab.setDefaultScreenshotStrategy(UiAutomatorScreenshotStrategy())
5.-
Agregar esta linea cuando se quiera realizar la captura
Screengrab.screenshot(“nombre_pantallazo”)
6.-
Comando para generar APK de ui-test
./gradlew assembleDebug assembleAndroidTest
7.-
Iniciar Screengrab
bundle exec fastlane screengrab init
8.-
android_home('$PATH')
use_adb_root(true)
app_package_name(‘bundle id de la application’)
app_apk_path('app/build/outputs/apk/debug/app-debug.apk')
tests_apk_path('app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk')
// Ingresar solo los idiomas que queremos configurar
locales(['es-419'])
clear_previous_screenshots(true)
9.-
artifacts:
paths:
- fastlane/screenshots
- fastlane/logs
10.-
Al final de la lane "Perform Instrumented tests”, agregar la siguiente linea: screengrab
24:12 - Prueba de UI test con ScreenGrab
25:34 - Configuración para firma automática de APK
1.-
def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
2.-
signingConfigs {
release {
storeFile rootProject.file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
}
}
3.-
signingConfig signingConfigs.release
4.-
storePassword=xxxx
keyPassword=xxxx
keyAlias=xxxx
storeFile=nombre-llave.jks
27:33 - Creación del borrador en Playstore
29:27 - Generar json-key de Playstore
1.-
bundle exec fastlane run validate_play_store_json_key json_key:/path/to/your/downloaded/file.json
33:24 - Generar json-key de Playstore
1.-
bundle exec fastlane supply init
35:09 - Ejecutar Screengrab local
1.-
bundle exec fastlane uitest-lane-name
39:08 - Ejecutar Screengrab local
1.-
desc "Deploy app to play store"
lane :deploy do
gradle(
task: 'assemble',
build_type: 'Release'
)
supply(
track:'beta',
release_status: 'draft'
)
end
2.-
- playstore-beta
playstore-beta:
stage: playstore-beta
script:
- fastlane deploy
tags:
- android
Agradecimientos:
LUXINEX:
https://www.youtube.com/user/T9X7
AppDevNotes-Learn Android Development:
https://www.youtube.com/channel/UCEs0Rbf3M4M76bavm4d_bi
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Tutorial Gitlab CI/CD con Fastlane ANDROID» бесплатно и без регистрации, вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.