से बिल्ड का नाम और विवरण सेट करें, मैं जेनकिंस घोषणात्मक पाइपलाइन से बिल्ड नाम और विवरण सेट करना चाहता हूं, लेकिन इसे करने का उचित तरीका नहीं मिल रहा है। मैंने पाइपलाइन के बाद एक पर्यावरण ब्रैकेट का उपयोग करने की कोशिश की, एजेंट ब्रैकेट में नोड ब्रैकेट का उपयोग करके, मुझे हमेशा वाक्यविन्यास त्रुटि मिलती है।जेनकिंस घोषणात्मक पाइपलाइन
मेरी Jenkinsfile के पिछले संस्करण तो प्रकार है:
pipeline {
stages {
stage("Build") {
steps {
echo "Building application..."
bat "%ANT_HOME%/bin/ant.bat clean compile"
currentBuild.name = "MY_VERSION_NUMBER"
currentBuild.description = "MY_PROJECT MY_VERSION_NUMBER"
}
}
stage("Unit Tests") {
steps {
echo "Testing (JUnit)..."
echo "Testing (pitest)..."
bat "%ANT_HOME%/bin/ant.bat run-unit-tests"
}
}
stage("Functional Test") {
steps {
echo "Selenium..."
}
}
stage("Performance Test") {
steps {
echo "JMeter.."
}
}
stage("Quality Analysis") {
steps {
echo "Running SonarQube..."
bat "%ANT_HOME%/bin/ant.bat run-sonarqube-analysis"
}
}
stage("Security Assessment") {
steps {
echo "ZAP..."
}
}
stage("Approval") {
steps {
echo "Approval by a CS03"
}
}
stage("Deploy") {
steps {
echo "Deploying..."
}
}
}
post {
always {
junit '/test/reports/*.xml'
}
failure {
emailext attachLog: true, body: '', compressLog: true, recipientProviders: [[$class: 'CulpritsRecipientProvider'], [$class: 'DevelopersRecipientProvider']], subject: '[JENKINS] MY_PROJECT build failed', to: '...recipients...'
}
success {
emailext attachLog: false, body: '', compressLog: false, recipientProviders: [[$class: 'DevelopersRecipientProvider']], subject: '[JENKINS] MY_PROJECT build succeeded', to: '...recipients...'
}
}
}
त्रुटि है:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 11: Expected a step @ line 11, column 5.
currentBuild.name = "MY_VERSION_NUMBER"
^
WorkflowScript: 12: Expected a step @ line 12, column 5.
currentBuild.description = "MY_PROJECT MY_VERSION_NUMBER"
^
आदर्श रूप में, मैं build.properties से MY_PROJECT और MY_VERSION_NUMBER को पढ़ने में सक्षम होना चाहते हैं फ़ाइल, या जेनकींस बिल्ड लॉग से। उस आवश्यकता के बारे में कोई भी मार्गदर्शन भी सराहना की जाएगी।
stage("Build") {
steps {
echo "Building application..."
bat "%ANT_HOME%/bin/ant.bat clean compile"
script {
def props = readProperties file: 'build.properties'
currentBuild.displayName = "v" + props['application.version']
}
}
अब बिल्ड संस्करण स्वचालित रूप से build.properties फ़ाइल को पढ़ने से पाइपलाइन के दौरान सेट है:
अद्यतन
जवाब मैं नीचे था, काम निम्नलिखित के आधार पर।
काम करता है चमत्कार। धन्यवाद! –