我正在尝试使用Expo(不需要eject)构建React Native APK。当我在本地机器上使用所有项目文件执行
当我将代码推送到GitLab存储库时,我有一个.gitlab-ci.yml文件。
expo build:android
时,我可以从.env文件中获取我的环境变量。当我将代码推送到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”
我想知道如何在通过GitLab CI管道运行expo build:android命令时将Google Maps环境变量设置到应用程序中:
- npx expo build:android