6.1 jenkins 'ant' 不是内部或外部命令,也不是可运行的程序
1.首先,要配置好ant环境。Ant在配置完成之前,jenkins服务就已经启动。则只需要重启jenkins服务即可。
2.另外的问题是ant配置环境变量在当前系统下无法识别(原因是配置成了用户变量)解决方法为,将所有的环境变量均配置在系统属性中,如下图所示
另外的解决方式,可以参考博客http://www.lai18.com/content/10821232.html
6.2 在linux下构建时,无法选择svn或者github
原因是没有安装版本控制器的插件,安装上后就好了
6.3 jenkins在安装一些插件后无法启动
查看tomcat日志后,发现端口被占用,最后修改了tomat的端口后解决。Tomcat修改后的配置文件在C:\Users\Administrator\Desktop\jenkins学习\环境部署工具\tomcat下的server配置文件(防止端口冲突)目录下,启动端口设置为8081
仍然无法解决的情况下重启机器,启动tomcat。
6.4遗留的问题
6.5提示tomcat中文job乱码:
找到 <Connector port=............ URIEncoding="UTF-8"
............... />
tomcat安装目录下conf/server.xml文件,
找到如上一行,添加上URIEncoding="UTF-8",
6.6 job在window slave节点下提示:ERROR: Maven Home \usr\lib\maven\apache-maven-3.3.9 doesn’t exist。
从Maven Home的配置路径中我们可以看出,很明显不是windows路径,原因是在jenkins-管理Jenkins-系统设置(全局设置&路径)可以看到默认的配置:
如果想使用本地的环境,需要在每个节点的 node properties中配置Tool locations.注意这里的工具名称是选择的,其实是在全局配置中,自定义的别名。
6.7 Jenkins打包完毕后,项目部署脚本解析(来自辉哥)deploy.sh
#/bin/sh!
# $#表示传递给脚本或函数的参数个数
if [ $# -lt 2 ]; then
echo 'Need tag name to update from SVN!'
echo 'Example: ./deploy.sh module version host'
exit
#退出脚本
fi
MODULE=$1;
#定义变量,将传递的第一个参数赋给MODULE,以下依次类推
VERSION=$2;
HOST=$3;
URL_PREFIX=http://project.boss.qiyi.domain/boss-wars
#URL路径前缀
WARFILE=$MODULE-$VERSION-$HOST.war
#拼接WARFILE
WEBROOT=/data/$MODULE
/usr/local/resin/bin/http_$MODULE.sh stop
#http_$MODULE.sh 类似于tomcat的媒资服务,先将其关闭
sleep 10;
cd $WEBROOT
rm -fr $WEBROOT/*
wget -q -O $WEBROOT/$WARFILE $URL_PREFIX/$WARFILE
# -q用来记录和输入文件参数(安静模式,没有输出)
# -O将文档写入到file文件中
#该句的主要作用是将文件 URL_PREFIX/$WARFILE 输出到文件 $WEBROOT/$WARFILE 中
jar -xvf $WEBROOT/$WARFILE
rm -f $WEBROOT/$WARFILE
rm -rf $WEBROOT/META-INF
sleep 10;
/usr/local/resin/bin/http_$MODULE.sh start
#启动服务
6.8 安装插件后抛出异常
java.lang.NoClassDefFoundError: org/jenkinsci/remoting/RoleSensitive
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:895)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:833)
at hudson.scm.SCM.checkout(SCM.java:488)
将插件Pre SCM BuildStep Plugin 卸载后显示正常,如果svn检出代码的工具在界面上不显示,则升级系统后可显示正常。目前版本为1.580.3
6.9线上的项目出错:unsupported major.minor version 51.0
原因是maven3.3.3的版本所需要的Jdk为1.7以上版本,需要在jenkins中配置jdk为1.7版本,在
jenkins学习\jenkins线上环境部署工具 文件夹中有
折腾了很久没有解决的原因是,slave1节点的原来标记为jdk1.7的文件夹下压根存储的不是1.7版本的jdk,而是1.6版本,因此一旦出现这个错误,而job的配置又没问题的情况下,一定要cd到从节点的jdk/bin目录下查看jdk的版本
6.21 svn e175002 解决办法
查看svn有没有经过授权。
6.22 添加授权(key)以后,仍然提示授权失败。
光添加key不能识别对应的主机,需要在jenkins对应的主从节点上ssh一下。