我正在尝试构建一个管道来构建一个在github上提交的java maven项目管道。 我已经在我的Windows机器上安装了jenkins。 我的管道在以下阶段被击中
Started by user Akshay Katti
Obtained Jenkinsfile from git C:Usersak186148gitKylo-Accelerator
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] node
Running on Jenkins in C:Usersak186148.jenkinsworkspaceKylo-Promoter-CI-CD
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Declarative: Checkout SCM)
[Pipeline] checkout
> git.exe rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git.exe config remote.origin.url C:Usersak186148gitKylo-Accelerator # timeout=10
Fetching upstream changes from C:Usersak186148gitKylo-Accelerator
> git.exe --version # timeout=10
> git.exe fetch --tags --progress C:Usersak186148gitKylo-Accelerator +refs/heads/*:refs/remotes/origin/*
> git.exe rev-parse "refs/remotes/origin/master^{commit}" # timeout=10
> git.exe rev-parse "refs/remotes/origin/origin/master^{commit}" # timeout=10
Checking out Revision e8ad0282a7fbd877461b3866a15f0116b2848065 (refs/remotes/origin/master)
> git.exe config core.sparsecheckout # timeout=10
> git.exe checkout -f e8ad0282a7fbd877461b3866a15f0116b2848065
Commit message: "Add initial Jenkinsfile"
> git.exe rev-list --no-walk e8ad0282a7fbd877461b3866a15f0116b2848065 # timeout=10
[Pipeline] }
[Pipeline] // stage
[Pipeline] withEnv
[Pipeline] {
[Pipeline] sh
[C:Usersak186148.jenkinsworkspaceKylo-Promoter-CI-CD] Running shell script
nohup: failed to run command 'sh': No such file or directory
process apparently never started in C:Usersak186148.jenkinsworkspaceKylo-Promoter-CI-CD@tmpdurable-b24ab647
[Pipeline] sh
[C:Usersak186148.jenkinsworkspaceKylo-Promoter-CI-CD] Running shell script
nohup: failed to run command 'sh': No such file or directory
process apparently never started in C:Usersak186148.jenkinsworkspaceKylo-Promoter-CI-CD@tmpdurable-5e2947b3
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code -2
Finished: FAILURE
请附上我的詹金斯文件(我已经从sh变成了bat(
pipeline {
agent {
docker {
image 'maven:3-alpine'
args '-v /root/.m2:/root/.m2'
}
}
stages {
stage('Build')
{
steps {
bat 'mvn -B -DskipTests clean package'
}
}
}
}
另外,请在下面找到蓝海页面上的错误 blue_ocean_error
请帮忙。
这个"进程显然从未启动"是一个通用错误,可能有不同的原因,因此:
- 检查您是否为Jenkins服务器版本使用了最新的DurableTask插件,因为该插件的1.28版本<可能会导致此特定错误(更多信息(,因此让我们消除第一个嫌疑人。>
- 如果 1. 不适用或不起作用,根据前面的答案,诀窍是获取有关实际导致错误的原因的更多信息,为此您可以:
- 执行
org.jenkinsci.plugins.durabletask.BourneShellScript.LAUNCH_DIAGNOSTICS=true
Jenkins 的脚本控制台中进行调试(需要成为 Jenkins 管理员(,然后重新启动作业以查看作业控制台输出中是否有有用的新信息 - 激活上一个答案中提到的日志,但您不需要重新启动 Jenkins 或访问托管 Jenkins 的服务器,您只需要成为 Jenkins 管理员并使用"系统日志"管理页面创建用于
org.jenkinsci.plugins.durabletask
的日志记录器并重新启动您的作业以查看您的自定义日志记录器中是否有有用的新信息。
- 执行
就我而言,通过系统控制台激活LAUNCH_DIAGNOSTICS
给了我以下错误:
nohup: impossible d'exécuter la commande « sh »: Aucun fichier ou dossier de ce type
显然,路径有问题。这个类似问题的回答帮助我注意到这是由"系统配置"页面中 PATH 环境变量的修改引起的。
我不确定你是否可以让它在Windows上运行(很容易(。
对我来说,问题是正确的nohup
不在PATH上。
要调试我在创建包含内容的文件logging.properties
后java -Djava.util.logging.config.file=logging.properties -jar jenkins.war
启动的问题:
org.jenkinsci.plugins.durabletask.level=FINE
handlers= java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=FINE
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
之后,我将nohup
(和sh
...(从C:Program FilesGitusrbin
添加到PATH。
即使在将驱动器 C: 作为 Docker 设置中的共享驱动器之后,情况也没有变得更好。
$ docker run -t -d -u 197609:197121
-w C:UsersA.jenkinsworkspaceMultibranch_pipeline_master@2
-v C:UsersA.jenkinsworkspaceMultibranch_pipeline_master@2:C:UsersA.jenkinsworkspaceMultibranch_pipeline_master@2:rw,z
-v C:UsersA.jenkinsworkspaceMultibranch_pipeline_master@2@tmp:C:UsersA.jenkinsworkspaceMultibranch_pipeline_master@2@tmp:rw,z
-e ******** ...
maven:3.3.3 cat
java.io.IOException: Failed to run image 'maven:3.3.3'.
Error: docker: Error response from daemon: the working directory
'C:UsersA.jenkinsworkspaceMultibranch_pipeline_master@2' is invalid,
it needs to be an absolute path.
所以使用的路径应该是类似/C/...
而不是C:...
.