MOBILEPROGLIB Telegram 5890
🔧 How to: настраиваем GitLab CI/CD для мобильных тестов

Ручные сборки и деплой занимают время, а человеческий фактор может привести к ошибкам. Автоматизируем процесс!

1️⃣ Создаём .gitlab-ci.yml

Файл .gitlab-ci.yml – сердце CI/CD в GitLab. Здесь описываем, какие тесты и когда запускать.

Пример пайплайна для Android (Appium + Pytest):

stages:
- test

variables:
ANDROID_HOME: "/sdk"
PATH: "$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH"

test_ui:
stage: test
image: python:3.9
before_script:
- pip install -r requirements.txt
script:
- pytest tests/ui_tests --junitxml=report.xml
artifacts:
paths:
- report.xml


Что тут происходит?
✔️ stages: Определяем этапы (у нас пока только test).
✔️ variables: Переменные среды (Android SDK и путь к эмулятору).
✔️ test_ui: Джоб, который запускает UI-тесты.
✔️ image: Используем докер-образ с Python 3.9.
✔️ before_script: Устанавливаем зависимости перед запуском.
✔️ script: Запускаем тесты.
✔️ artifacts: Сохраняем отчёт о тестах.

2️⃣ Подключаем GitLab Runner

Чтобы GitLab выполнял тесты, нужен Runner – агент, который их запускает.

Запускаем Runner на своём сервере

➡️ Устанавливаем GitLab Runner:

sudo curl -L --output /usr/local/bin/gitlab-runner \
"https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64"
sudo chmod +x /usr/local/bin/gitlab-runner


➡️ Регистрируем Runner:


gitlab-runner register


Вводим URL репозитория и токен (берём в Settings → CI/CD → Runners).

➡️ Запускаем Runner:


gitlab-runner start


Теперь тесты будут выполняться прямо на твоей машине или сервере.

3️⃣ Добавляем Android-эмулятор в пайплайн
Если нужно гонять тесты на Android:

test_android:
stage: test
image: budtmo/docker-android:emulator_11.0
before_script:
- start-emulator
- adb wait-for-device
script:
- pytest tests/android_tests


✔️ budtmo/docker-android – докер-контейнер с эмулятором Android.
✔️ start-emulator – запускаем эмулятор.
✔️ adb wait-for-device – ждём, пока устройство загрузится.

4️⃣ Автоматизация сборки APK/IPA

Чтобы собирать APK (Android) или IPA (iOS) в GitLab CI/CD:

Android (Gradle)
build_apk:
stage: build
image: openjdk:11
script:
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/apk/debug/app-debug.apk


iOS (Fastlane)
build_ios:
stage: build
image: circleci/macos-xcode
script:
- bundle exec fastlane build
artifacts:
paths:
- build/ios.ipa


Какой CI/CD используете вы? Делитесь опытом в комментариях 💬

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tgoop.com/mobileproglib/5890
Create:
Last Update:

🔧 How to: настраиваем GitLab CI/CD для мобильных тестов

Ручные сборки и деплой занимают время, а человеческий фактор может привести к ошибкам. Автоматизируем процесс!

1️⃣ Создаём .gitlab-ci.yml

Файл .gitlab-ci.yml – сердце CI/CD в GitLab. Здесь описываем, какие тесты и когда запускать.

Пример пайплайна для Android (Appium + Pytest):

stages:
- test

variables:
ANDROID_HOME: "/sdk"
PATH: "$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH"

test_ui:
stage: test
image: python:3.9
before_script:
- pip install -r requirements.txt
script:
- pytest tests/ui_tests --junitxml=report.xml
artifacts:
paths:
- report.xml


Что тут происходит?
✔️ stages: Определяем этапы (у нас пока только test).
✔️ variables: Переменные среды (Android SDK и путь к эмулятору).
✔️ test_ui: Джоб, который запускает UI-тесты.
✔️ image: Используем докер-образ с Python 3.9.
✔️ before_script: Устанавливаем зависимости перед запуском.
✔️ script: Запускаем тесты.
✔️ artifacts: Сохраняем отчёт о тестах.

2️⃣ Подключаем GitLab Runner

Чтобы GitLab выполнял тесты, нужен Runner – агент, который их запускает.

Запускаем Runner на своём сервере

➡️ Устанавливаем GitLab Runner:

sudo curl -L --output /usr/local/bin/gitlab-runner \
"https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64"
sudo chmod +x /usr/local/bin/gitlab-runner


➡️ Регистрируем Runner:


gitlab-runner register


Вводим URL репозитория и токен (берём в Settings → CI/CD → Runners).

➡️ Запускаем Runner:


gitlab-runner start


Теперь тесты будут выполняться прямо на твоей машине или сервере.

3️⃣ Добавляем Android-эмулятор в пайплайн
Если нужно гонять тесты на Android:

test_android:
stage: test
image: budtmo/docker-android:emulator_11.0
before_script:
- start-emulator
- adb wait-for-device
script:
- pytest tests/android_tests


✔️ budtmo/docker-android – докер-контейнер с эмулятором Android.
✔️ start-emulator – запускаем эмулятор.
✔️ adb wait-for-device – ждём, пока устройство загрузится.

4️⃣ Автоматизация сборки APK/IPA

Чтобы собирать APK (Android) или IPA (iOS) в GitLab CI/CD:

Android (Gradle)
build_apk:
stage: build
image: openjdk:11
script:
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/apk/debug/app-debug.apk


iOS (Fastlane)
build_ios:
stage: build
image: circleci/macos-xcode
script:
- bundle exec fastlane build
artifacts:
paths:
- build/ios.ipa


Какой CI/CD используете вы? Делитесь опытом в комментариях 💬

🐸 Библиотека мобильного разработчика

#буст

BY Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck


Share with your friend now:
tgoop.com/mobileproglib/5890

View MORE
Open in Telegram


Telegram News

Date: |

Ng was convicted in April for conspiracy to incite a riot, public nuisance, arson, criminal damage, manufacturing of explosives, administering poison and wounding with intent to do grievous bodily harm between October 2019 and June 2020. The imprisonment came as Telegram said it was "surprised" by claims that privacy commissioner Ada Chung Lai-ling is seeking to block the messaging app due to doxxing content targeting police and politicians. With Bitcoin down 30% in the past week, some crypto traders have taken to Telegram to “voice” their feelings. Add the logo from your device. Adjust the visible area of your image. Congratulations! Now your Telegram channel has a face Click “Save”.! How to Create a Private or Public Channel on Telegram?
from us


Telegram Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
FROM American