Ошибка при записи секретов ключей карты Google в Build.config с помощью действий конвейера Android CI/CD GitHub.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка при записи секретов ключей карты Google в Build.config с помощью действий конвейера Android CI/CD GitHub.

Сообщение Anonymous »

Я настраиваю конвейер CI/CD для проекта Android на GitHub. Приложение использует ключи API Google Maps для трех разных сред. В настоящее время я храню эти ключи в файле local.properties и получаю к ним доступ в app/build.gradle, чтобы внедрить их в BuildConfig.
В рамках процесса 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
Запись этих значений в Build.config в файле app/build.gradle следующим образом:

Код: Выделить всё

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}\""
}
}
Но процесс сборки CI/CD завершается с ошибкой:
'../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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»