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 {
buildDiscarder(logRotator(numToKeepStr: '10'))
disableConcurrentBuilds()
timeout(time: 60, unit: 'MINUTES')
timeout(time: 1, unit: 'MINUTES')
timestamps()
}
@@ -22,10 +22,6 @@ pipeline {
booleanParam(name: 'CLEAN_BUILD', defaultValue: true, description: 'Run flutter clean before build')
}
triggers {
cron('H 2 * * *')
}
stages {
stage('Preparation -)') {
steps {
@@ -45,10 +41,15 @@ pipeline {
stage('Environment Setup') {
steps {
script {
def flutterHome = tool name: 'Flutter', type: 'Flutter'
def flutterHome = "/opt/flutter"
env.PATH = "${flutterHome}/bin:${env.PATH}"
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') {
when {
expression {
def buildType = params.BUILD_TYPE.toLowerCase()
buildType == 'all' || buildType == 'android'
}
}
stages {
stage('Build APK Debug') {
when {
expression { params.ANDROID_FLAVOR.toLowerCase() == 'debug' }
}
steps {
script {
def buildName = "debug"
if (params.VERSION_NAME) buildName += "-${params.VERSION_NAME}"
if (params.VERSION_CODE) buildName += "-${params.VERSION_CODE}"
currentBuild.displayName = "#${currentBuild.number} - Android ${buildName}"
// stage('Build Android') {
// when {
// expression {
// def buildType = params.BUILD_TYPE.toLowerCase()
// buildType == 'all' || buildType == 'android'
// }
// }
// stages {
// stage('Build APK Debug') {
// when {
// expression { params.ANDROID_FLAVOR.toLowerCase() == 'debug' }
// }
// steps {
// script {
// def buildName = "debug"
// if (params.VERSION_NAME) buildName += "-${params.VERSION_NAME}"
// if (params.VERSION_CODE) buildName += "-${params.VERSION_CODE}"
// currentBuild.displayName = "#${currentBuild.number} - Android ${buildName}"
def extraArgs = ''
if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}"
if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}"
// def extraArgs = ''
// if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}"
// if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}"
sh "flutter build apk --${buildName}${extraArgs}"
}
}
post {
success {
archiveArtifacts artifacts: "build/app/outputs/flutter-apk/app-${buildName}.apk", fingerprint: true
archiveArtifacts artifacts: "build/app/outputs/flutter-apk/*.apk", fingerprint: true
}
}
}
// sh "flutter build apk --${buildName}${extraArgs}"
// }
// }
// post {
// success {
// archiveArtifacts artifacts: "build/app/outputs/flutter-apk/app-${buildName}.apk", fingerprint: true
// archiveArtifacts artifacts: "build/app/outputs/flutter-apk/*.apk", fingerprint: true
// }
// }
// }
stage('Build APK Release') {
when {
expression { params.ANDROID_FLAVOR.toLowerCase() == 'release' }
}
steps {
script {
def buildName = "release"
if (params.VERSION_NAME) buildName += "-${params.VERSION_NAME}"
if (params.VERSION_CODE) buildName += "-${params.VERSION_CODE}"
currentBuild.displayName = "#${currentBuild.number} - Android ${buildName}"
// stage('Build APK Release') {
// when {
// expression { params.ANDROID_FLAVOR.toLowerCase() == 'release' }
// }
// steps {
// script {
// def buildName = "release"
// if (params.VERSION_NAME) buildName += "-${params.VERSION_NAME}"
// if (params.VERSION_CODE) buildName += "-${params.VERSION_CODE}"
// currentBuild.displayName = "#${currentBuild.number} - Android ${buildName}"
def extraArgs = ''
if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}"
if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}"
// def extraArgs = ''
// if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}"
// if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}"
sh "flutter build apk --release${extraArgs}"
}
}
post {
success {
archiveArtifacts artifacts: "build/app/outputs/flutter-apk/*.apk", fingerprint: true
}
}
}
// sh "flutter build apk --release${extraArgs}"
// }
// }
// post {
// success {
// archiveArtifacts artifacts: "build/app/outputs/flutter-apk/*.apk", fingerprint: true
// }
// }
// }
stage('Build AAB Release') {
when {
expression { params.ANDROID_FLAVOR.toLowerCase() == 'release' }
}
steps {
script {
def extraArgs = ''
if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}"
if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}"
// stage('Build AAB Release') {
// when {
// expression { params.ANDROID_FLAVOR.toLowerCase() == 'release' }
// }
// steps {
// script {
// def extraArgs = ''
// if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}"
// if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}"
sh "flutter build appbundle --release${extraArgs}"
}
}
post {
success {
archiveArtifacts artifacts: "build/app/outputs/bundle/release/*.aab", fingerprint: true
}
}
}
}
}
// sh "flutter build appbundle --release${extraArgs}"
// }
// }
// post {
// success {
// archiveArtifacts artifacts: "build/app/outputs/bundle/release/*.aab", fingerprint: true
// }
// }
// }
// }
// }
stage('Build Web') {
when {
@@ -181,13 +182,20 @@ pipeline {
def extraArgs = ''
if (params.VERSION_NAME) extraArgs += " --build-name=${params.VERSION_NAME}"
if (params.VERSION_CODE) extraArgs += " --build-number=${params.VERSION_CODE}"
sh "rm -f web.zip"
sh "flutter build web --release${extraArgs}"
sh "cd build/web && zip -r ../../web.zip *"
archiveArtifacts 'web.zip'
sh "rm -f web.zip"
}
}
post {
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
}
}
}