当前位置:首页 » 网页前端 » jenkins脚本报错
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

jenkins脚本报错

发布时间: 2022-11-28 11:55:03

❶ Jenkins打包iOS报plicate错误的正确解决办法

好久没有写博客,最近一直在使用Jenkins对iOS和Android打包,多多少少遇到一些问题,这里暂时先记录打包iOS报plicate的错误;

主要分为以下两种情况:

其实有些人在打包的时候经常会见到类似于下面这种错误

然后大家就开始网络诸如这样的错误解决方案, 我也是如此。
但是这并不能高效的解决遇到的问题(稍后再说),还有可能引起其它问题的产生,所以一定要详细的去看报错信息。

在这句话的上面看到

再往上面看的话,就会看到

很明显, 这两个框架下有相同命名(BundleHelper)的类,
后来找到的相应的SDK开发人员,确认不小心命名相同,改正即可。

细心的人如果再往上看的话,就会发现

一些重复报错loog, 经过沟通发现,两个SDK都要用到libWeChatSDK.a,而其中一个sdk已经将.a打包进去,另外一个sdk需要导入.a使用,因此重复。最好的解决办法就是:把libWeChatSDK.a抽离出来,以免以后还会有其它sdk使用。

这种plicate是:第三方库和系统库 之间的冲突,网上也有人问过 有人问过 ,但是没人解决。

说起来这个错误,可能还要源于第一种情况,为了解决第一种情况,试尽了网上所有的办法, 却不想又产生这个问题,所以大家在解决问题的时候一定要注意自己修改了什么,最关键的是弄清楚问题的本质。

就像这个问题本质就是:”两个静态库内有冲突“
网络一下解决方案一大堆,而且都是大同小异,这里 感谢这个博主的文章

推荐大家用这种方法解决:
删除掉 Other Linker Flag 的 -all_load 就可以解决静态库冲突的问题
使用抽离合并在生成.a的方法太麻烦。

ps:刚接触Jenkins,不喜勿喷。

❷ jenkins执行python脚本问题

一般有三种方法:
1.安装执行python的插件:Python Plugin,安装后在配置那里就可以看到以下的选项,可以在Script部分直接写python代码

❸ Jenkins报错Error cloning remote repo 'origin'

输出 ERROR: Error cloning remote repo 'origin'

这行报错只能说明是git有问题,其他没什么有用的信息。
浏览器中 Ctrl+F 查找 ERROR ,提示No such file or directory。怀疑git路径设置有问题

Jenkins配置git的绝对路径
系统管理--->全局工具管理--->git
重新构建问题还是没解决

Jenkins配置了2个节点,但是只有master安装了git,很有可能任务被调到slave上执行所以报错

Jenkins--->node--->构建历史 看到之前的任务都在此节点,此节点又没有安装Jenkins所以报错

❹ jenkins构建项目的错误和原因及其解决方法

我们项目开发完之后需要构建项目发布上线时,通常会使用到jenkins构建工具,然后在使用jenkins工具构建项目时通常也会遇到一些构建错误问题,通常情况下,如果项目在自己本地打包时没有问题,启动服务时也没有问题的情况下,可能是jenkins配置问题,需要开发人员配合本地配置项的修改完成,下面我给大家分享一下我遇到的一些构建失败问题,注意:本篇文章讲的主要是关于前端项目的构建失败问题。

Umi自动化工程创建的react项目

从图一中可以看出,是构建时打包命令出错,使用了不能识别的 npm run build:prod ,该命令是前端工程项目中 package.json 包文件中的 scripts 中配置的,该案例中前端并没有配置build:prod 这个打包命令,如图:

这里有两种解决办法。

直接去jenkins 上将打包命令配置成前端包文件种配置的命令,本案例中因为没有区分不同的开发环境,而且项目也只有master一个主分支,没有使用环境变量来区分不同环境的打包命令,所以图一中的问题,可以直接将jenkins里面的打包命令配置成图二中的打包命令 npm run build。去到jenkins 工具中,找到对应的配置项,如图:

如果项目变得复杂,需要进行严格的环境区分,那么这种情况下建议使用第二种方法,使用环境变量区分不同环境的打包命令,具体步骤如下:

去到前端项目在项目根目录下找到包文件package.json文件,打开后,在scripts下面配置build:prod 的打包命令,如图:

去到前端项目中的配置文件config.js中配置 APP_ENV环境变量来区分不同的环境,例如生产环境,开发环境,测试环境等,配置如下:

本文中暂时讲到图一中这种jenkins构建失败的现象以及导致失败的原因和针对其不同的两种解决方法,后续再碰到其它失败现象再补充,或者大家也可以在评论区回复各自遇到的失败情况,欢迎留言。

❺ jenkins启动报错解决方案

启动jenkins报错: Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.

按提示输入systemctl status jenkins.service

看到原因是因为

最后想起来问题出在我重装了JDK, java地址变了

解决方法:
1> 查看当前Java的环境变量 echo $JAVA_HOME
2> 复制Java的环境变量地址, 编辑/etc/init.d/jenkins文件, 指定位置添加该地址, 后缀附上/bin/java vim /etc/init.d/jenkins

修改后重启jenkins服务, 问题解决 systemctl start jenkins

❻ 解决Jenkinsfile执行sh 报Warning: JENKINS-41339 probably bogus

执行以下pipeline时,报错!
Warning: JENKINS-41339 probably bogus PATH=$PATH:/usr/share/maven/bin:/usr/share/maven/bin; perhaps you meant to use ‘PATH+EXTRA=/something/bin’?

解决方式一:
采用environment {
PATH = "PATH+EXTRA=/usr/sbin:/usr/bin:/sbin:/bin"
}方式

解决方式二:
采用:withEnv(['PATH+EXTRA=/usr/sbin:/usr/bin:/sbin:/bin']) {
}方式配置

解决方式三:
通过转到Manage Jenkins-> Configure System并删除PATH全局属性。
去掉全局环境配置,但会造成其他问题;
一些自由风格的环境会因此破坏。

[推荐]解决方法四:
通过转到Manage Jenkins-> Configure System并配置PATH全局属性。
环境变量配置:
键: M2_HOME 值: /usr/local/maven
键: NODE_HOME 值: /usr/local/node
键: ... 值: ...
键: PATH+EXTRA 值: $PATH:$M2_HOME/bin:$NODE_HOME/bin

PS:关键配置,环境键变量变为: PATH+EXTRA 而不是 PATH
最终配置如下图:

完成以上配置后: java -version、mvn -v、node -v都将可用;
而且自由风格的项目也不会受影响。

❼ Jenkins打包报错:(No such file or directory) and 'parent.relativePath' points at no local POM

Jenkins打包报错:(No such file or directory) and 'parent.relativePath' points at no local POM

可能是因为maven配置修改了本地仓库的路径,而jenkins没有该路径的操作权限,需要修改一下路径的权限即可:

❽ Jenkins构建执行Python脚本报错文件不存在

这个可能是在操作的过程中其中一个步骤弄错了。

❾ jenkins执行shell脚本,使用scp免密传输失败问题

问题:Jenkins默认使用jenkins用户去启动,jenkins用户并没有权限去执行ssh免密登陆,所以导致执行失败

注:配置linux双机互信后,jenkins也需要将公钥加入到目标机器,才能达到shell脚本中scp免密传输的条件

一、验证登录

1、切换jenkins用户

# su jenkins

切换后还是root账号

2、分析解决:

2.1 应该是/etc/passwd文件中的/bin/bash被yum安装的时候变成了/bin/false

# vim /etc/passwd

jenkins:x:990:988:Jenkins Automation Server:/var/lib/jenkins:/bin/false( bash)

将bin/false改为/bin/bash

再次执行切换

# su jenkins

bash-4.1$

2.2  结果命令提示符的用户名不是jenkins而变成了 bash-4.1$,原因是在安装jenkins时,jenkins只是创建了jenkins用户,并没有为其创建home目录

# vim ~/.bash_profile

在文件的最后添加 export PS1='[\u@\h \W]\$',执行文件使修改项起作用

# source ~/.bash_profile

验证是否成功   # su jenkins

二、为jenkins系统用户开启免密登录

1、在Jenkins的使用过程中,如果在脚本中使用到sudo命令,有可能出现如下所示的错误:

sudo: no tty present and no askpass program specified

这是因为Jenkins服务器在执行sudo命令时的上下文有误,导致这个命令执行的异常。

2.1 解决方法:

# sudo visudo

在文件末尾加上jenkins ALL=(ALL) NOPASSWD: ALL

2.2 重启jenkins,测试

# su jenkins

# sudo su -s /bin/bash jenkins

测试成功,jenkins免密登录成功。

PS:如果误操作修改了/etc/sudoers的权限来修改上述文件,则会导致如下所示的错误:

sudo :/etc/sudoers is world writable

sudo : no valid sudoers source found, quitting

sudo : unable to initialize poling plugin

这是Linux的一种保护机制。因此,如果出现上述误操作,则需要执行如下命令来解决:

$ pkexec chmod 0440 /etc/sudoers

三、jenkins用户开通ssh免密登录

1、安装ssh

# yum install ssh

1.1 将ssh服务设置开机自启

# sudo systemctl enable sshd

1.2 启动ssh

# sudo systemctl start sshd

2、生成jenkins用户秘钥证书

# su jenkins

# ssh-keygen -t rsa

2.1 查看是否生成成功

# /var/lib/jenkins/.ssh/

# ls

3、将公钥传输到目标linux系统

ssh--id -i /var/lib/jenkins/.ssh/id_rsa.pub root@目标ip:path

------------------------------------------------------------------------------------------

参考:https://blog.csdn.net/weixin_43840640/article/details/90371472

❿ Android 使用Jenkins自动化打包报错

软件环境

Window  7 x64

Jenkins jenkins-2.121.2

Tomcat 9.0.8

Android studio 3.1.2 

Java JDK 1.8 

Gradle 4.4   

报错信息:

C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.0.2.aar\\res\color\abc_secondary_text_material_dark.xml: error: file not found.C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-1\files-1.1\picture_library-v2.0.1.aar\\res\drawable\btn_left_true.xml: error: file not found.Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details: app:mergeGooglePlayDebugResources FAILEDFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':app:mergeGooglePlayDebugResources'.> Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details* Try:Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

解决方法:

设置环境变量: GRADLE_USER_HOME    c:/gradle-cache

或者    gradle assembleDebug -g C:\gradle-cache