В рамках процесса CI/CD я Я переместил ключи API Карт Google в секреты репозитория GitHub в качестве переменных среды. В рабочем процессе GitHub Actions (build.yml) я устанавливаю эти секреты как переменные системной среды, чтобы сделать их доступными в процессе сборки, например:
Код: Выделить всё
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up JDK 11
uses: actions/setup-java@v4
with:
java-version: '22'
distribution: 'temurin'
cache: gradle
- name: Access DEV_GOOGLE_PLACES_API_KEY
env:
DEV_GOOGLE_PLACES_API_KEY: ${{ secrets.DEV_GOOGLE_PLACES_API_KEY }}
run: echo 'DEV_GOOGLE_PLACES_API_KEY=${{ secrets.DEV_GOOGLE_PLACES_API_KEY }}' >> $GITHUB_ENV
- name: Access STAGE_GOOGLE_PLACES_API_KEY
env:
STAGE_GOOGLE_PLACES_API_KEY: ${{ secrets.STAGE_GOOGLE_PLACES_API_KEY }}
run: echo 'STAGE_GOOGLE_PLACES_API_KEY=${{ secrets.STAGE_GOOGLE_PLACES_API_KEY }}' >> $GITHUB_ENV
- name: Access PROD_GOOGLE_PLACES_API_KEY
env:
PROD_GOOGLE_PLACES_API_KEY: ${{ secrets.PROD_GOOGLE_PLACES_API_KEY }}
run: echo 'PROD_GOOGLE_PLACES_API_KEY=${{ secrets.PROD_GOOGLE_PLACES_API_KEY }}' >> $GITHUB_ENV
- name: Grant execute permission for gradlew
run: chmod +x ./gradlew
- name: Build with Gradle
run: ./gradlew buildwhiskeyDebug
Код: Выделить всё
buildTypes {
debug {
def devApiKey = System.getenv("DEV_GOOGLE_PLACES_API_KEY")
buildConfigField "String", "DEV_GOOGLE_PLACES_API_KEY", "\"${devApiKey}\""
}
release {
def devApiKey = System.getenv("DEV_GOOGLE_PLACES_API_KEY")
buildConfigField "String", "DEV_GOOGLE_PLACES_API_KEY", "\"${devApiKey}\""
}
}
'../android/web/BuildConfig.java:13: error: ';' ожидаемая
публичная статическая окончательная строка DEV_GOOGLE_PLACES_API_KEY = "***"; '
'../android/web/BuildConfig.java:13: ошибка: ожидается
public static Final String DEV_GOOGLE_PLACES_API_KEY = "***"; '
Что мне здесь не хватает?
Подробнее здесь: https://stackoverflow.com/questions/793 ... roid-ci-cd