|
@@ -0,0 +1,79 @@
|
|
|
|
|
+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
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|