如何为LibGDX项目编写规范的构建阶段.yaml脚本?
LibGDX项目CI/CD构建阶段YAML脚本编写指南
核心逻辑
LibGDX基于Gradle构建,CI/CD脚本的核心是匹配环境依赖、调用对应Gradle任务。以下以GitHub Actions为例,给出通用模板及关键说明。
基础环境配置
所有LibGDX构建都依赖这些基础环境:
- JDK 11+(推荐17,适配最新Gradle版本)
- Gradle依赖缓存(大幅缩短构建耗时)
- 目标平台专属SDK(如Android SDK、Xcode)
完整示例脚本
name: LibGDX CI/CD # 触发条件:主分支推送或PR on: push: branches: [ main ] pull_request: branches: [ main ] jobs: # 桌面端构建任务 build-desktop: runs-on: ubuntu-latest steps: - name: 拉取代码 uses: actions/checkout@v4 - name: 配置JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' - name: 缓存Gradle依赖 uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: 构建桌面端发布包 run: ./gradlew desktop:dist - name: 上传桌面端构建产物 uses: actions/upload-artifact@v3 with: name: desktop-build path: desktop/build/libs/*.jar # Android端构建任务 build-android: runs-on: ubuntu-latest steps: - name: 拉取代码 uses: actions/checkout@v4 - name: 配置JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' - name: 配置Android SDK uses: android-actions/setup-android@v3 with: api-level: 33 build-tools: 33.0.2 - name: 缓存Gradle依赖 uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: 构建Android发布APK # 若需签名,可添加-P参数引用GitHub Secrets中的签名信息 run: ./gradlew android:assembleRelease - name: 上传Android构建产物 uses: actions/upload-artifact@v3 with: name: android-build path: android/build/outputs/apk/release/*.apk
关键注意事项
- Gradle Wrapper:确保仓库已提交
gradlew、gradlew.bat及gradle/wrapper目录,CI环境会自动使用指定版本Gradle,无需手动安装。 - Android签名:正式发布时,将签名密钥、密码存于GitHub Secrets,构建时通过Gradle参数注入,示例:
./gradlew android:assembleRelease -Pandroid.injected.signing.store.file=${{ secrets.KEYSTORE_FILE }} -Pandroid.injected.signing.store.password=${{ secrets.KEYSTORE_PASSWORD }} -Pandroid.injected.signing.key.alias=${{ secrets.KEY_ALIAS }} -Pandroid.injected.signing.key.password=${{ secrets.KEY_PASSWORD }} - iOS构建:需使用
macos-latestrunner,配置Xcode环境后执行./gradlew ios:createIPA生成安装包。 - 测试集成:可在构建前添加
./gradlew test任务,运行所有模块单元测试,保障代码质量。
内容的提问来源于stack exchange,提问作者Rustam Temirov
相关产品推荐
相关产品推荐

