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