Попытка вычленить версию через shell
This commit is contained in:
27
Jenkinsfile
vendored
27
Jenkinsfile
vendored
@ -18,23 +18,20 @@ pipeline {
|
||||
stage('Extract VERSION') {
|
||||
steps {
|
||||
script {
|
||||
def versionFile = "src/main/resources/META-INF/ncore-product/${env.PRODUCT_GROUP}/version.properties"
|
||||
if (!fileExists(versionFile))
|
||||
error "Version file not found: ${versionFile}"
|
||||
def versionText = ""
|
||||
readFile(file: versionFile).readLines().each {
|
||||
if (it.contains('version'))
|
||||
versionText += it.trim();
|
||||
}
|
||||
echo versionText
|
||||
def m = (versionText =~ /^version=(((\d+\.)*\d+)(?:-[A-Za-z]+)?)$/)
|
||||
env.VERSION = sh(
|
||||
script: """
|
||||
set -e
|
||||
VERSION=\$(sed -n 's/^version=//p' ${versionFile})
|
||||
|
||||
if (!m.find()) {
|
||||
error "Invalid version format: ${versionText}"
|
||||
}
|
||||
if [[ ! "\$VERSION" =~ ^[0-9]+(\\.[0-9]+)*(-[A-Za-z]+)?$ ]]; then
|
||||
echo "Invalid version format: \$VERSION" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
env.VERSION = m.group(1)
|
||||
echo "Extracted VERSION: ${env.VERSION}"
|
||||
echo "\$VERSION"
|
||||
""",
|
||||
returnStdout: true
|
||||
).trim()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user