Я определяю конвейер CI/CD для действий GitHub. У меня есть два варианта: производство и промежуточный этап, и каждый раз, когда код объединяется в основной, я хочу создать сборку, т. е. stagingDebug для артефакта.
Проблема, с которой я сталкиваюсь, заключается в том, что имя сборки генерируется динамически. через Градл. Я хочу знать, как разместить динамическое имя внутри пути.
Gradle:
Код: Выделить всё
defaultConfig {
applicationId "com.xyz.app"
minSdk 23
targetSdk 34
versionCode 22
versionName "1.7.0.6"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
def formattedDate = new Date().format('yy-MM-dd HH.mm.ss')
archivesBaseName = "$applicationId-v$versionCode($versionName)-$formattedDate"
vectorDrawables.useSupportLibrary = true
}
productFlavors {
stagging {
applicationId "com.xyz.app.stagging"
copy {
from 'src/stagging/'
include 'google-services.json'
into '.'
}
}
}
Код: Выделить всё
app/build/outputs/apk/stagging/debug/com.xyz.app.stagging-v22(1.7.0.6)-24-02-05 10.10.19-stagging-debug.apk
Код: Выделить всё
name: AndroidBuild
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4.1.1
- name: Set up JDK
uses: actions/setup-java@v4.0.0
with:
distribution: 'adopt'
java-version: '11'
- name: Build with Gradle
run: |
./gradlew assembleStaggingDebug
- name: Upload APK
uses: actions/upload-artifact@v4.3.0
with:
name: stagging_artifiact
path: app/build/outputs/apk/stagging/debug/${dynamically named apk}.apk
Источник: https://stackoverflow.com/questions/779 ... namic-name
Мобильная версия