• Jenkins CICD过程常见异常


    1 Status [126]

    Exception when publishing, exception message [Exec exit status not zero. Status [126]

    1.1 报错日志

    SSH: EXEC: STDOUT/STDERR from command [/app/***/publish.sh] ...
    bash: /app/***/publish.sh: Permission denied
    SSH: EXEC: completed after 200 ms
    SSH: Disconnecting configuration [***] ...
    ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [126]]
    Build step 'Send build artifacts over SSH' changed build result to UNSTABLE
    Finished: UNSTABLE
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    1.2 原因

    Jenkins调用的脚本文件权限不够

    1.3 解决方案

    chmod增加权限

    chmod 777 publish.sh
    
    • 1

    2 Status [127]

    Exception when publishing, exception message [Exec exit status not zero. Status [127]]

    2.1 报错日志

    SSH: EXEC: STDOUT/STDERR from command [/app/***/publish.sh] ...
    bash: /app/***/publish.sh: No such file or directory
    SSH: EXEC: completed after 200 ms
    SSH: Disconnecting configuration [***] ...
    ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [127]]
    Build step 'Send build artifacts over SSH' changed build result to UNSTABLE
    Finished: UNSTABLE
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2.2 原因

    脚本文件目录错误

    2.3 解决方案

    Jenkins配置中的脚本目录地址改正确。

    当 SSH Server 中配置Remote Directory后:

    • Remote directory 填写相对地址
    • Exec command 填写绝对地址

    3 ERROR: Error cloning remote repo ‘origin’

    3.1 报错日志

    Cloning the remote Git repository
    Cloning repository http://****:3000/***/***.git
    
     > /usr/bin/git init /home/jenkins/workspace/*** # timeout=10
     > Fetching upstream changes from http://****:3000/***/***.git
     > /usr/bin/git --version # timeout=10
     > using GIT_ASKPASS to set credentials 
     > /usr/bin/git fetch --tags --progress http://****:3000/***/***.git +refs/heads/*:refs/remotes/origin/*
     > ERROR: Error cloning remote repo 'origin'
     > hudson.plugins.git.GitException: Command "/usr/bin/git fetch --tags --progress http://****:3000/***/***.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:
     > stdout: 
     > stderr: fatal: unable to access 'http://****:3000/***/***.git/': The requested URL returned error: 500
    
    	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2042)
    	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1761)
    	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$400(CliGitAPIImpl.java:72)
    	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:442)
    	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:655)
    	at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1152)
    	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1192)
    	at hudson.scm.SCM.checkout(SCM.java:504)
    	at hudson.model.AbstractProject.checkout(AbstractProject.java:1208)
    	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
    	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
    	at hudson.model.Run.execute(Run.java:1810)
    	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
    	at hudson.model.ResourceController.execute(ResourceController.java:97)
    	at hudson.model.Executor.run(Executor.java:429)
    
    ERROR: Error cloning remote repo 'origin'
    SSH: Current build result is [FAILURE], not going to run.
    Finished: FAILURE
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    3.2 原因

    从描述信息来看,是无法拉取远程代码,之前明明是好正常的,怎么突然一下就不行了呢?那你想想,是不是最近负责这个项目的人离职了,O(∩_∩)O哈哈~
    这个原因主要是 Git 用户被注销了,无法通过该用户获取 Git 代码。

    3.3 解决方案

    从【配置】中,找到配置 Git 远程地址的地方,下图中会报红,将【Credentials】改成自己的用户就可以了。

    4 ERROR: Exception when publishing, exception message [Failure]

    4.1 报错日志

    Waiting for Jenkins to finish collecting data
    [JENKINS] Archiving /home/jenkins/workspace/***/pom.xml to ***/***/0.0.1-SNAPSHOT/***-0.0.1-SNAPSHOT.pom
    [JENKINS] Archiving /home/jenkins/workspace/***/target/***-0.0.1-SNAPSHOT.jar to ***/***/0.0.1-SNAPSHOT/***-0.0.1-SNAPSHOT.jar
    channel stopped
    SSH: Connecting from host [****]
    SSH: Connecting with configuration [****] ...
    SSH: Disconnecting configuration [] ...
    ERROR: Exception when publishing, exception message [Failure]
    Build step 'Send build artifacts over SSH' changed build result to UNSTABLE
    Finished: UNSTABLE
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    4.2 原因

    发生这个错误,一般是磁盘空间不足了,这种情况在测试环境比较常见(毕竟生产环境会有监控提醒的)!

    4.3 解决

    查询磁盘使用情况命令:

    df -h
    
    • 1

    使用删除文件命令,删掉多余日志:

    rm -rf file
    
    • 1
  • 相关阅读:
    B. Find The Array
    python利用BUG让它免费啦~你在不知道就要后悔啦~
    openGauss学习笔记-106 openGauss 数据库管理-管理用户及权限-管理员
    已解决:开机出现Start PXE over ipv4 & ipv6的情况
    一文掌握基于深度学习的人脸表情识别开发(基于PaddlePaddle)
    Linux系统的安装
    A. Strange Birthday Party- Codeforces Round #694 (Div. 1)
    Replication(上):常见复制模型&分布式系统挑战
    3D交互可视化编辑器求推荐,最好是针对企业级使用的?
    智能AI写作系统+ChatGPT程序源码搭建部署教程+支持GPT4.0/AI绘画
  • 原文地址:https://blog.csdn.net/qq_33589510/article/details/134325560