gpt4 book ai didi

Jenkinsfile 管道错误 : “expected a step” and “undefined section”

转载 作者:行者123 更新时间:2023-12-04 12:19:59 27 4
gpt4 key购买 nike

谁能解释为什么我会收到以下错误,以及可能的解决方案是什么?

Running in Durability level: MAX_SURVIVABILITY org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 43: Expected a step @ line 43, column 17. if (isUnix()) { ^

WorkflowScript: 71: Undefined section "success" @ line 71, column 5. success { ^

WorkflowScript: 78: Undefined section "failure" @ line 78, column 5. failure { ^

WorkflowScript: 16: Tool type "maven" does not have an install of "MAVEN_HOME" configured - did you mean "Maven M2"? @ line 16, column 19. maven "MAVEN_HOME" ^

WorkflowScript: 17: Tool type "jdk" does not have an install of "JAVA_HOME" configured - did you mean "null"? @ line 17, column 17. jdk "JAVA_HOME" ^


Jenkinsfile中的代码如下:

  pipeline {

// agent defines where the pipeline will run.
agent {
// Here we define that we wish to run on the agent with the label SL202_win
label "SL202_win"
}

// The tools directive allows you to automatically install tools configured in
// Jenkins - note that it doesn't work inside Docker containers currently.
tools {
// Here we have pairs of tool symbols (not all tools have symbols, so if you
// try to use one from a plugin you've got installed and get an error and the
// tool isn't listed in the possible values, open a JIRA against that tool!)
// and installations configured in your Jenkins master's tools configuration.
maven "MAVEN_HOME"
jdk "JAVA_HOME"
}

environment {
// Environment variable identifiers need to be both valid bash variable
// identifiers and valid Groovy variable identifiers. If you use an invalid
// identifier, you'll get an error at validation time.
// Right now, you can't do more complicated Groovy expressions or nesting of
// other env vars in environment variable values, but that will be possible
// when https://issues.jenkins-ci.org/browse/JENKINS-41748 is merged and
// released.
mvnHome = "D:/Tools/apache-maven-3.5.2"
}

stages {
// At least one stage is required.
stage("Preparation") {
// Every stage must have a steps block containing at least one step.
steps {
// Get some code from a GitHub repository
git 'https://git.ceesiesdomain.nl/scm/rsd/test_automation.git'
}
}
stage('Build') {
steps {
// Run the maven build
if (isUnix()) {
sh "'${mvnHome}/bin/mvn' clean test -Dtest=TestRunner"
} else {
bat(/"${mvnHome}\bin\mvn" clean test -Dtest=TestRunner/)
}
}
}
stage('Results') {
steps {
cucumber buildStatus: 'UNSTABLE', failedFeaturesNumber: 999, failedScenariosNumber: 999, failedStepsNumber: 3, fileIncludePattern: '**/*.json', skippedStepsNumber: 999
}
}
}
// Post can be used both on individual stages and for the entire build.
post {
success {
echo "Test run completed succesfully."
}
failure {
echo "Test run failed."
}
always {
// Let's wipe out the workspace before we finish!
deleteDir()
echo "Workspace cleaned"
}
}

success {
mail(from: "jenkins@ceesiesdomain.nl",
to: "ceesie@ceesiesdomain.nl",
subject: "That build passed.",
body: "Nothing to see here")
}

failure {
mail(from: "jenkins@ceesiesdomain.nl",
to: "ceesie@ceesiesdomain.nl",
subject: "That build failed!",
body: "Nothing to see here")
}

// The options directive is for configuration that applies to the whole job.
options {
// For example, we'd like to make sure we only keep 10 builds at a time, so
// we don't fill up our storage!
buildDiscarder(logRotator(numToKeepStr:'10'))

// And we'd really like to be sure that this build doesn't hang forever, so
// let's time it out after an hour.
timeout(time: 60, unit: 'MINUTES')
}
}

最佳答案

我设法通过修剪所有多余的部分并从纯粹的基本要素开始并迭代地添加步骤和配置并在每次更改后运行它以验证工作方式来使其工作。
我现在结束的脚本是:

pipeline {
agent {
label 'SL202_win'
}
stages {
stage("Fetch repository") {
steps {
git 'https://git.ceesiesdomain.nl/scm/rsd/test_automation.git'
}
}
stage('Run test') {
steps {
bat 'cd d:/SL202_Data/workspace/Front-end-SwiftNL/Sanctie_Regressie_Workflows_WCM'
bat 'mvn clean test -f d:/SL202_Data/workspace/Front-end-SwiftNL/Sanctie_Regressie_Workflows_WCM/pom.xml -Dtest=TestRunner'
}
}
}
post {
always {
echo 'Test run completed'
cucumber buildStatus: 'UNSTABLE', failedFeaturesNumber: 999, failedScenariosNumber: 999, failedStepsNumber: 3, fileIncludePattern: '**/*.json', skippedStepsNumber: 999
}
success {
echo 'Successfully!'
}
failure {
echo 'Failed!'
}
unstable {
echo 'This will run only if the run was marked as unstable'
}
changed {
echo 'This will run only if the state of the Pipeline has changed'
echo 'For example, if the Pipeline was previously failing but is now successful'
}
}
options {
timeout(time: 60, unit: 'MINUTES')
}
}

关于Jenkinsfile 管道错误 : “expected a step” and “undefined section” ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48992146/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com