Я пытаюсь создать React Native APK с Expo (без извлечения). Мне удается локально получить переменные среды из файла .env, когда я делаю expo build:android
на своем локальном компьютере со всеми файлами проекта.
Когда я нажимаю на свой репозиторий GitLab, у меня есть файл .gitlab-ci.yml
---
image: node:alpine
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- ~/.npm
- .jest
stages:
- test
- deploy
before_script:
- npm ci
jest-tests:
stage: test
script:
- npx jest --ci --passWithNoTests
expo-deployments:
stage: deploy
script:
- apk add --no-cache bash
- npx expo login -u $EXPO_USERNAME -p $EXPO_PASSWORD
- npx expo build:android --EXPO_ANDROID_GOOGLE_API_KEY $EXPO_ANDROID_GOOGLE_API_KEY --EXPO_IOS_GOOGLE_API_KEY $EXPO_IOS_GOOGLE_API_KEY --release-channel staging --non-interactive
- EXPO_ANDROID_GOOGLE_API_KEY=$EXPO_ANDROID_GOOGLE_API_KEY; EXPO_IOS_GOOGLE_API_KEY=$EXPO_IOS_GOOGLE_API_KEY; expo build:android --release-channel staging --non-interactive
У меня нет в репо файла .env по соображениям безопасности.
Где все эти переменные хранятся в каждой среде в GitLab: (отлично работает)
- EXPO_USERNAME = имя пользователя моей учетной записи разработчика для доступа к Expo.
- EXPO_PASSWORD = пароль учетной записи для доступа к Expo.
(вообще не работает при сборке)
- EXPO_IOS_GOOGLE_API_KEY = abcdefghijklmnopqrstuvwxyz
- EXPO_ANDROID_GOOGLE_API_KEY = abcdefghijklmnopqrstuvwxz
Интересно, как я могу установить переменные среды Google Maps в приложение при запуске команды expo build: android через конвейер GitLab CI:
- npx expo build:android