Jenkins无法运行Shell脚本。我已经在kubernetes集群上安装了Jenkins。 这是构建控制台输出的一部分:
Start building Frontend and Backend Docker images
[Pipeline] }
[Pipeline] container
[Pipeline] {
[Pipeline] container
[Pipeline] {
[Pipeline] echo
Building Bmf Frontend Image
[Pipeline] sh
[Pipeline] echo
Buildinging Bmf Backend Images
[Pipeline] sh
+ chmod +x build.sh
[Pipeline] // stage
[Pipeline] }
[Pipeline] sh
+ chmod +x build.sh
[Pipeline] sh
+ ./build.sh --build_bmf_frontend
build.sh - Script for building the Web Application, Docker image and Helm chart
Usage: ./build.sh <options>
--build_bmf_frontend : [optional] Build Bmf Frontend image
--build_bmf_backend : [optional] Build Bmf Backend image
--push_bmf_frontend : [optional] Push Bmf Frontend image
--push_bmf_backend : [optional] Push Bmf Backend image
--delete_frontend : [optional] Delete Bmf Frontend image
--delete_backend : [optional] Delete Bmf Backend image
--deploy_stage : [optional] Deploy to Stage Server
--deploy_production : [optional] Deploy to Production Server
--registry reg : [optional] A custom docker registry
--docker_usr user : [optional] Docker registry username
--docker_psw pass : [optional] Docker registry password
--tag tag : [optional] A custom app version
-h | --help : Show this usage
[Pipeline] }
[Pipeline] // container
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
作业在通过模板Kubernetes Pod模板配置的kubernetes worker上执行。
这是我的Jenkinsfile命令:
stage('Build BMF Frontend') {
steps {
container('jnlp') {
echo 'Building Bmf Frontend Image'
sh "chmod +x build.sh"
sh "./build.sh --build_bmf_frontend"
}
}
}
下面是我的Jenkins工作区的屏幕截图;
答案 0 :(得分:0)
您的管道已正确执行。
返回的输出表明问题出在您的脚本中。
即使Jenkins成功执行,由于代码中的问题,您也无法使它按预期工作。
您可能要检查build.sh
脚本,可能是它分析输入选项的部分。
答案 1 :(得分:0)
使用摘要生成器时,所有的sh命令都用单引号引起来。也许您应该改用它?
https://jenkins.io/doc/book/pipeline/getting-started/#snippet-generator
答案 2 :(得分:0)
我正在使用 sh 执行它,该语法的语法不太广泛;)