| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- pipeline {
- agent any
- parameters {
- choice(name: 'BUILD_TYPE', choices: ['debug', 'release'], description: '选择构建类型')
- }
- environment {
- COCOS_CREATOR_PATH = "C:/ProgramData/cocos/editors/Creator/3.8.6/CocosCreator/CocosCreator.exe"
- WORKSPACE = "${env.WORKSPACE}"
- SIGN_KEYSTORE = "${WORKSPACE}/key_store/lzfk.jks"
- SIGN_ALIAS = "lzfk"
- SIGN_PASS = "lzfk888"
- KEY_PASS = "lzfk888"
- JIAGU_PATH = "${WORKSPACE}/tools/jiagu/jiagu.jar"
- CHANNEL_FILE = "${WORKSPACE}/channel.txt"
- }
- stages {
- stage('选择分支') {
- steps {
- script {
- if (params.BUILD_TYPE == 'debug') {
- env.GIT_BRANCH = 'dev'
- env.BUILD_MODE = 'debug'
- } else {
- env.GIT_BRANCH = 'master'
- env.BUILD_MODE = 'release'
- }
- }
- }
- }
- stage('拉取代码') {
- steps {
- checkout([$class: 'GitSCM',
- branches: [[name: "*/${env.GIT_BRANCH}"]],
- userRemoteConfigs: [[url: 'git@your.git.repo/project.git']]])
- }
- }
- stage('使用 Cocos Creator 构建') {
- steps {
- sh """
- ${COCOS_CREATOR_PATH} --project ${WORKSPACE} \\
- --build "platform=android;debug=${params.BUILD_TYPE == 'debug' ? 'true' : 'false'};md5Cache=true"
- """
- }
- }
- stage('使用 Gradle 打包') {
- steps {
- dir('build/android') {
- sh "./gradlew assemble${params.BUILD_TYPE.capitalize()}"
- }
- }
- }
- stage('加固并多渠道') {
- when {
- expression { return params.BUILD_TYPE == 'release' }
- }
- steps {
- sh """
- java -jar ${JIAGU_PATH} -login your_account your_password
- java -jar ${JIAGU_PATH} -importsign ${SIGN_KEYSTORE} ${SIGN_PASS} ${SIGN_ALIAS} ${KEY_PASS}
- java -jar ${JIAGU_PATH} -jiagu build/android/proj/gradle/build/outputs/apk/release/app-release.apk \\
- ${WORKSPACE}/jiagu_output/ -autosign -automulpkg -pkgparam ${CHANNEL_FILE}
- """
- }
- }
- stage('归档 APK') {
- steps {
- archiveArtifacts artifacts: "**/build/**/*.apk", fingerprint: true
- }
- }
- }
- }
|