EOF:在Jenkins管道中找不到命令



我正试图在Jenkins管道中启动Datadog代理,但我收到了以下错误:

第7行:警告:此处文档位于第2行,由文件结尾分隔(需要`EOF'(。EOF:找不到命令错误

stage('Install Datadog agent'){
when {
environment(name: "DATADOG_REQ", value: "enable")
}
steps {
script {
echo "Installing Datadog Agent"

sh '''#!/bin/bash 
ssh -o ConnectTimeout=30 -t  ABC@1234 /bin/bash  << EOF || error_exit "creating based folder failed for $service_name"
sudo chmod u+x ./${JOB_NAME}/enableDatadogAgent.sh
sudo chown jenkins:jenkins ./${JOB_NAME}/enableDatadogAgent.sh
echo ${DATADOG_REQ} ${JOB_NAME}
./${JOB_NAME}/enableDatadogAgent.sh ${DATADOG_REQ} 
EOF'''
}

}
}

任何帮助都会很有帮助。

我更改了<lt;EOF与<lt;-_EOF_,现在它开始工作了。

script {
echo "Installing Datadog Agent"

sh '''#!/bin/bash 
ssh -o ConnectTimeout=30 -t  ABC@1234 /bin/bash  <<- _EOF_ || error_exit "Failed to execute while doing SSH"    
sudo chmod u+x ./${JOB_NAME}/enableDatadogAgent.sh
sudo chown jenkins:jenkins ./${JOB_NAME}/enableDatadogAgent.sh
echo ${DATADOG_REQ} ${JOB_NAME}
./${JOB_NAME}/enableDatadogAgent.sh ${DATADOG_REQ} 
_EOF_'''
}
stage('Deploy to server') {
steps {
sshagent(['SSH_CREDENTIALS']) {
sh '''

ssh -i ${PEM_KEY_PATH} ubuntu@65.2.169.55 << EOF
set +x
export DOCKER_USERNAME=$(docker-credential-jenkins get ${DOCKER_REGISTRY} | jq -r '.Username')
export DOCKER_PASSWORD=$(docker-credential-jenkins get ${DOCKER_REGISTRY} | jq -r '.Secret')
docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
docker pull ${DOCKER_REGISTRY}/${IMAGE_NAME}:latest
docker run -d -p 3000:3000 ${DOCKER_REGISTRY}/${IMAGE_NAME}:latest
<< EOF
'''
}
}
}
}

}这个作品试试这个代码<lt;EOF你的命令<lt;EOF-

最新更新