Merge pull request 'Обновить Jenkinsfile' (#3) from dev into release

Reviewed-on: #3
This commit was merged in pull request #3.
This commit is contained in:
2026-05-17 11:50:18 +03:00
Vendored
+89 -81
View File
@@ -10,7 +10,7 @@ pipeline {
options { options {
buildDiscarder(logRotator(numToKeepStr: '10')) buildDiscarder(logRotator(numToKeepStr: '10'))
disableConcurrentBuilds() disableConcurrentBuilds()
timeout(time: 60, unit: 'MINUTES') timeout(time: 1, unit: 'MINUTES')
timestamps() timestamps()
} }
@@ -22,10 +22,6 @@ pipeline {
booleanParam(name: 'CLEAN_BUILD', defaultValue: true, description: 'Run flutter clean before build') booleanParam(name: 'CLEAN_BUILD', defaultValue: true, description: 'Run flutter clean before build')
} }
triggers {
cron('H 2 * * *')
}
stages { stages {
stage('Preparation -)') { stage('Preparation -)') {
steps { steps {
@@ -45,10 +41,15 @@ pipeline {
stage('Environment Setup') { stage('Environment Setup') {
steps { steps {
script { script {
def flutterHome = tool name: 'Flutter', type: 'Flutter' def flutterHome = "/opt/flutter"
env.PATH = "${flutterHome}/bin:${env.PATH}" env.PATH = "${flutterHome}/bin:${env.PATH}"
sh 'flutter doctor -v' sh 'flutter doctor -v'
} }
script {
//def ANDROID_HOME = "/opt/flutter"
//env.PATH = "${flutterHome}/bin:${env.PATH}"
//sh 'find /soft -name "*droid*"'
}
} }
} }
@@ -86,86 +87,86 @@ pipeline {
} }
} }
stage('Build Android') { // stage('Build Android') {
when { // when {
expression { // expression {
def buildType = params.BUILD_TYPE.toLowerCase() // def buildType = params.BUILD_TYPE.toLowerCase()
buildType == 'all' || buildType == 'android' // buildType == 'all' || buildType == 'android'
} // }
} // }
stages { // stages {
stage('Build APK Debug') { // stage('Build APK Debug') {
when { // when {
expression { params.ANDROID_FLAVOR.toLowerCase() == 'debug' } // expression { params.ANDROID_FLAVOR.toLowerCase() == 'debug' }
} // }
steps { // steps {
script { // script {
def buildName = "debug" // def buildName = "debug"
if (params.VERSION_NAME) buildName += "-${params.VERSION_NAME}" // if (params.VERSION_NAME) buildName += "-${params.VERSION_NAME}"
if (params.VERSION_CODE) buildName += "-${params.VERSION_CODE}" // if (params.VERSION_CODE) buildName += "-${params.VERSION_CODE}"
currentBuild.displayName = "#${currentBuild.number} - Android ${buildName}" // currentBuild.displayName = "#${currentBuild.number} - Android ${buildName}"
def extraArgs = '' // def extraArgs = ''
if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}" // if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}"
if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}" // if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}"
sh "flutter build apk --${buildName}${extraArgs}" // sh "flutter build apk --${buildName}${extraArgs}"
} // }
} // }
post { // post {
success { // success {
archiveArtifacts artifacts: "build/app/outputs/flutter-apk/app-${buildName}.apk", fingerprint: true // archiveArtifacts artifacts: "build/app/outputs/flutter-apk/app-${buildName}.apk", fingerprint: true
archiveArtifacts artifacts: "build/app/outputs/flutter-apk/*.apk", fingerprint: true // archiveArtifacts artifacts: "build/app/outputs/flutter-apk/*.apk", fingerprint: true
} // }
} // }
} // }
stage('Build APK Release') { // stage('Build APK Release') {
when { // when {
expression { params.ANDROID_FLAVOR.toLowerCase() == 'release' } // expression { params.ANDROID_FLAVOR.toLowerCase() == 'release' }
} // }
steps { // steps {
script { // script {
def buildName = "release" // def buildName = "release"
if (params.VERSION_NAME) buildName += "-${params.VERSION_NAME}" // if (params.VERSION_NAME) buildName += "-${params.VERSION_NAME}"
if (params.VERSION_CODE) buildName += "-${params.VERSION_CODE}" // if (params.VERSION_CODE) buildName += "-${params.VERSION_CODE}"
currentBuild.displayName = "#${currentBuild.number} - Android ${buildName}" // currentBuild.displayName = "#${currentBuild.number} - Android ${buildName}"
def extraArgs = '' // def extraArgs = ''
if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}" // if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}"
if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}" // if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}"
sh "flutter build apk --release${extraArgs}" // sh "flutter build apk --release${extraArgs}"
} // }
} // }
post { // post {
success { // success {
archiveArtifacts artifacts: "build/app/outputs/flutter-apk/*.apk", fingerprint: true // archiveArtifacts artifacts: "build/app/outputs/flutter-apk/*.apk", fingerprint: true
} // }
} // }
} // }
stage('Build AAB Release') { // stage('Build AAB Release') {
when { // when {
expression { params.ANDROID_FLAVOR.toLowerCase() == 'release' } // expression { params.ANDROID_FLAVOR.toLowerCase() == 'release' }
} // }
steps { // steps {
script { // script {
def extraArgs = '' // def extraArgs = ''
if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}" // if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}"
if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}" // if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}"
sh "flutter build appbundle --release${extraArgs}" // sh "flutter build appbundle --release${extraArgs}"
} // }
} // }
post { // post {
success { // success {
archiveArtifacts artifacts: "build/app/outputs/bundle/release/*.aab", fingerprint: true // archiveArtifacts artifacts: "build/app/outputs/bundle/release/*.aab", fingerprint: true
} // }
} // }
} // }
} // }
} // }
stage('Build Web') { stage('Build Web') {
when { when {
@@ -181,13 +182,20 @@ pipeline {
def extraArgs = '' def extraArgs = ''
if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}" if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}"
if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}" if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}"
sh "rm -f web.zip"
sh "flutter build web --release${extraArgs}" sh "flutter build web --release${extraArgs}"
sh "cd build/web && zip -r ../../web.zip *"
archiveArtifacts 'web.zip'
sh "rm -f web.zip"
} }
} }
post { post {
success { success {
archiveArtifacts artifacts: "build/web/**/*", fingerprint: true sh "cd build/web && zip -r ../../web.zip *"
archiveArtifacts 'web.zip'
sh "rm -f web.zip"
// archiveArtifacts artifacts: "build/web/**/*", fingerprint: true
} }
} }
} }