WMS_Native/Jenkinsfile.groovy
GiuseppeS cff971bef8 Merge branch 'master' into develop
# Conflicts:
#	Jenkinsfile.groovy
2025-05-28 11:47:20 +02:00

90 lines
4.3 KiB
Groovy

pipeline {
agent {
label 'master'
}
options {
buildDiscarder(logRotator(numToKeepStr: '30', artifactNumToKeepStr: '10'))
disableConcurrentBuilds()
}
environment {
// ANDROID_HOME = "/usr/local/android/sdk" // Cambia in base al tuo sistema
JAVA_HOME = tool 'JDK 17.0.6 x64' // Nome dello strumento configurato in Jenkins
PATH = "${env.JAVA_HOME}/bin:${env.PATH}"
}
stages {
stage('Preparing') {
when {
expression {
return env.GIT_BRANCH == "master-beta"
}
}
steps {
powershell """
# Percorso del file build.gradle
$gradleFile = "app\\build.gradle"
# Legge il contenuto del file
$content = Get-Content $gradleFile -Raw
# Modifica appVersionName aggiungendo '-beta'
$content = $content -replace "(appVersionName\\s*=\\s*')([^']+)'", "`\$1`\$2-beta'"
# Modifica il nome del file di output aggiungendo '-beta' prima dell'estensione .apk
$content = $content -replace '(output\\.outputFileName\\s*=\\s*")([^"]+)(\\.apk")', "`\$1`\$2-beta`\$3"
# Modifica il percorso di version.txt in version-beta.txt
$content = $content -replace '("\\$projectDir/build/outputs/apk/release/version)(\\.txt")', '\$1-beta\$2'
# Sovrascrive il file con le modifiche
Set-Content $gradleFile -Value $content
Write-Host "Versione aggiornata con '-beta' in appVersionName, outputFileName e percorso di version.txt"
"""
}
}
stage('Build') {
steps {
bat "./gradlew assembleRelease"
archiveArtifacts artifacts: 'app/build/outputs/apk/release/', onlyIfSuccessful: true
}
}
stage('Publish') {
steps {
azureUpload allowAnonymousAccess: true, fileShareName: 'storage-ci', filesPath: 'app/build/outputs/apk/release/*', removePrefixPath: 'app/build/outputs/apk/release/', storageCredentialId: '83a86793-c1d6-4776-b20f-1ff652a57fee', storageType: 'filestorage', uploadArtifactsOnlyIfSuccessful: true, verbose: true, virtualPath: 'wms'
}
}
}
post {
success {
script {
bat "curl -k https://devservices.studioml.it/ems-api/updateWMSApp"
bat "curl -k https://services.studioml.it/ems-api/updateWMSApp"
if (env.GIT_BRANCH == "master" || env.GIT_BRANCH == "master-beta") {
office365ConnectorSend adaptiveCards: true, color: '#008000', message: 'WMS è stato compilato con successo', status: 'SUCCESS', webhookUrl: 'https://prod-89.westeurope.logic.azure.com:443/workflows/260580715a9d4447a54dea861a865536/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=EMqPHohvE5o5IGj_gir_iQaAufR4r8ZJxlFx52jklSE'
}
}
}
unstable {
script {
if (env.GIT_BRANCH == "master" || env.GIT_BRANCH == "master-beta") {
office365ConnectorSend adaptiveCards: true, color: '#FFDE21', message: 'WMS è INSTABILE', status: 'UNSTABLE', webhookUrl: 'https://prod-89.westeurope.logic.azure.com:443/workflows/260580715a9d4447a54dea861a865536/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=EMqPHohvE5o5IGj_gir_iQaAufR4r8ZJxlFx52jklSE'
}
}
}
failure {
script {
if (env.GIT_BRANCH == "master" || env.GIT_BRANCH == "master-beta") {
office365ConnectorSend adaptiveCards: true, color: '#FF2C2C', message: 'Errore di compilazione su WMS', status: 'FAILURE', webhookUrl: 'https://prod-89.westeurope.logic.azure.com:443/workflows/260580715a9d4447a54dea861a865536/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=EMqPHohvE5o5IGj_gir_iQaAufR4r8ZJxlFx52jklSE'
}
}
}
}
}