jenkins疑难解答

转载地址:http://blog.csdn.net/u010782644/article/details/52292718

一、tomcat的启动,stratup.bat启动时闪退 
解决方案:编辑startup.bat和shutdown.bat,在最开始加入两行代码,配置环境变量 
SET JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_101(jdk安装目录) 
SET TOMCAT_HOME=C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0(Tomcat安装目录)

二、Maven的安装 
1)解压安装包 
2)配置环境变量 
添加MAVEN_HOME变量为解压的Maven的目录 
追加Path路径变量为%MAVEN_HOME%\bin 
3)输入mvn -v验证是否安装成功

三、jenkins另一种安装方式 
将下载的war包部署到servlet容器 
示例:将jenkins.war包放到节点tomcat节点webapps目录下,然后通过点击bin目录下startup.bat启动tomcat 
注:要更改tomcat端口号通过修改conf目录下的主配置文件server.xml文件

四、邮件配置的error 
1、535 用户名和密码不对 
2、553 没有设置jenkins location下系统管理员邮件地址

五、构建触发器: 
build wherever a SNAPSHOT dependency is build :当svn有修改时就构建项目 
poll scm(soft config manage):指定一个定时作业表达式来定义jenkins每隔多久检查一下源代码仓库的变化,如果变化,就在执行一次构建 
示例:H 12,18 * * *表示每天12点和18点检查是否source code repository是否发生变化 
build periodically:此选项仅仅通知jenkins按照指定的频率对项目进行构建,而不管是scm是否发生变化 
示例:H/30 * * * *表示每30分钟构建一次项目

六、job的名称 
不要使用中文名称,创建Job名称时最好有个规划,因为我们最后会通过正则匹配自动将Job归类 
示例: “项目前缀_说明-Job类型”这种方式,tthl_zhuangbei_auto;

七、修改jenkins存放job的位置 
Jenkins存放job的默认位置为:C:\Documents and Settings\Administrator.jenkins 
设置环境变量JENKINS_HOME的值即可改变目录,例如在D盘下建一个jenkins的目录,修改JENKINS_HOME=d:\jenkins即可

八、修改jenkins端口 
在cmd窗口通过java -jar %JENKINS_HOME%\jenkins.war –httpPort=8081在最后面修改参数就ok 
如果你是通过tomcat启动的jenkins,修改tomcat端口的方法就是进入tomcat安装目录下的conf目录里找到server.xml文件,修改里面的port即可

九、备份和恢复jenkins 
只需要备份JENKINS_HOME下的所有文件和文件夹,恢复的时候需要先停止jenkins。

十、移动,删除或修改jobs 
对于移动或删除jobs,只需要简单地移动或删除%JENKINS_HOEM%\jobs目录。 
对于修改jobs的名字,只需要简单地修改%JENKINS_HOEM%\jobs下对应job的文件夹的名字。 
对于不经常使用的job,只需要对%JENKINS_HOEM%\jobs下对应的jobs的目录zip或tar后存储到其他的地方。

十一、可以在jenkins的url中执行一些命令来操作jenkins,如下 
http://[jenkins-server]/[command] 命令可以为: 
1)exit shutdown jenkins 
2)restart restart jenkins 
3)reload to reload the configuration

十二、Jenkins 启动时的命令行参数 
–httpPort= HTTPPORTjenkinswebhttpsPort= HTTP_PORT,表示使用https协议。 
–httpListenAddress=$HTTP_HOST,用来指定jenkins监听的ip范围,默认为所有的ip都可以访问此jenkins server。

十三、修改jenkins的timezone 
如果jenkins所在的server的timezone不同于用户的timezone,这时候需要修改jenkins的timezone,需要在jenkins启动的时候增加下列参数-Dorg.apache.commons.jelly.tags.fmt.timeZone=TZ

十四、使startjenkins.bat随Windows的开机自动运行 
将startjenkins.bat加入到windows启动脚本里。 
1.打开组策略(命令:gpedit.msc) 
2.[计算机配置] –> [Windows 设置] –> [脚本 (启动/关机)] –> [启动] 
3.在“启动 属性”对话框中添加脚本名:D:\jenkins\startjenkins.bat 
删除服务:sc delete jenkins(如果不是删除不成功,说明不是管理员身份,在开始->附件->命令行->管理员身份运行即可) 
以后,每次启动计算机,输入http://localhost:8081即可访问jenkins主页。

startjenkins.bat
set JENKINS_HOME=D:\Jenkins_WorkSpace
cd /d %JENKINS_HOME%
java -jar jenkins.war --httpPort=8081
 
 
  • 1
  • 2
  • 3
  • 4

注:要让.bat文件运行后cmd窗口不关闭的三种方法: 
方法1:假设你的bat名字叫aaa.bat你可以新开一个bat,内容是start aaa.bat,然后这个新的bat是不会自动关闭的 
方法2:要执行bat后不退出,可以在bat里的最后添加pause命令,暂停等你^^(不过再按键盘就没了) 
方法3(推荐) :只要在bat文件最后运行个cmd.exe就行了。。。

十五、jenkins内置的环境变量

BUILD_NUMBER, 唯一标识一次build,例如23; 
BUILD_ID,基本上等同于BUILD_NUMBER,但是是字符串,例如2011-11-15_16-06-21; 
JOB_NAME, job的名字,例如JavaHelloWorld; 
BUILD_TAG, 作用同BUILD_ID,BUILD_NUMBER,用来全局地唯一标识一此build,例如jenkins-JavaHelloWorld-23; 
EXECUTOR_NUMBER, 例如0; 
NODE_NAME,slave的名字,例如MyServer01; 
NODE_LABELS,slave的label,标识slave的用处,例如JavaHelloWorld MyServer01; 
JAVA_HOME, java的home目录,例如C:\Program Files (x86)\Java\jdk1.7.0_01; 
WORKSPACE,job的当前工作目录,例如c:\jenkins\workspace\JavaHelloWorld; 
HUDSON_URL = JENKINS_URL, jenkins的url,例如http://localhost:8000/ ; 
BUILD_URL,build的url 例如http://localhost:8000/job/JavaHelloWorld/23/; 
JOB_URL, job的url,例如http://localhost:8000/job/JavaHelloWorld/; 
SVN_REVISION,svn 的revison; 
SVN_URL:check out到工作目录的svn的url

十五、cmd启动tomcat 
进入tomcat安装目录下的bin目录(binURL) 
binURL>server.bat install tomcat 
binURL>net start tomcat

十六、slave配置的好的建议 
1、每个slave的用户jenkins,所有的机器使用相同的UID和GID,使得slave的管理更加简单; 
2、每个机器上jenkins用户的home目录都相同/home/jenkins,拥有相同的目录结构使得维护更简单; 
3、所有的slave运行sshd,windows运行cygwin,sshd; 
4、所有的slave安装ntp client,用来与相同的ntp server同步; 
5、使用脚本sh来自动配置slave的环境,例如创建jenkins用户,安装sshd,安装java,ant,maven等 
6、使用脚本来启动slave,保证slave总是运行在相同的参数下: 
示例:

#!/bin/bash
JAVA_HOME=/opt/SUN/yourJDKVision
PATH=$PATH:$JAVA_HOME/bin
export PATH
java -jar /var/jenkins/bin/slave.jar
 
 
  • 1
  • 2
  • 3
  • 4
  • 5

十七、Jenkins插件

  • Perforce Plugin.再说jenkins的管理页面的插件下面安装perforce插件,然后重启jenkins
  • cmakebuilder Plugin :支持cmake的构建
  • Job Artifact Plugin :拷贝当前依赖的组件
  • MSBuild Plugin :使用MSBuild来构建.NET工程
  • NAnt Plugin :用来支持UAnt
  • Python Plugin :用来支持python
  • Rake plugin :用来支持rake构建
  • SCons plugin :用来支持Scons构建
  • Xconde Plugin :用来支持MAC。iphone的构建
  • Simple Theme : 修改jenkins界面

十八、Jenkins忘记管理员密码 
找到config.xml文件 
删除下面部分,重新登录

<useSecurity>true</useSecurity>
<authorizationStategy class="hudson.sucrity.FullControlOnceLoggedInAuthorizationStrategy">
    ......
</authorizationStategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
   <disableSignup>false</disableSignup>
    .. 
</securityRealm>
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

十九、插件升级站点 
系统管理->插件管理->高级->升级站点 
https://wiki.jenkins-ci.org/display/JENKINS/Plugins

二十、邮件通知模板 
参考网站:http://www.cppblog.com/fwxjj/archive/2012/10/04/192809.html(邮件通知令牌意义) 
Default Subject: 
构建通知: BUILDSTATUS {PROJECT_NAME} - Build # ${BUILD_NUMBER} !

Default Content:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>

<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
    offset="0">
    <table width="95%" cellpadding="0" cellspacing="0"
        style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
        <tr>
            <td>(本邮件是程序自动下发的,请勿回复!)</td>
        </tr>
        <tr>
            <td><h2>
                    <font color="#0000FF">构建结果 - ${BUILD_STATUS}</font>
                </h2></td>
        </tr>
        <tr>
            <td><br />
            <b><font color="#0B610B">构建信息</font></b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td>
                <ul>
                    <li>项目名称&nbsp;:&nbsp;${PROJECT_NAME}</li>
                    <li>构建编号&nbsp;:&nbsp;第${BUILD_NUMBER}次构建</li>
                    <li>SVN&nbsp;版本:&nbsp;${SVN_REVISION}</li>
                    <li>触发原因:&nbsp;${CAUSE}</li>
                    <li>构建日志:&nbsp;<a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
                    <li>构建&nbsp;&nbsp;Url&nbsp;:&nbsp;<a href="${BUILD_URL}">${BUILD_URL}</a></li>
                    <li>工作目录&nbsp;:&nbsp;<a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
                    <li>项目&nbsp;&nbsp;Url&nbsp;:&nbsp;<a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
                </ul>
            </td>
        </tr>
        <tr>
            <td><b><font color="#0B610B">Changes Since Last
                        Successful Build:</font></b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td>
                <ul>
                    <li>历史变更记录 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
                </ul> ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br />%m</pre>",pathFormat="&nbsp;&nbsp;&nbsp;&nbsp;%p"}
            </td>
        </tr>
        <tr>
            <td><b><font color="#0B610B">Failed Test Results</font></b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td><pre
                    style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">$FAILED_TESTS</pre>
                <br /></td>
        </tr>
        <tr>
            <td><b><font color="#0B610B">构建日志 (最后 100行):</font></b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <!-- <tr>
            <td>Test Logs (if test has ran): <a
                href="${PROJECT_URL}ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip">${PROJECT_URL}/ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip</a>
                <br />
            <br />
            </td>
        </tr> -->
        <tr>
            <td><textarea cols="80" rows="30" readonly="readonly"
                    style="font-family: Courier New">${BUILD_LOG, maxLines=100}</textarea>
            </td>
        </tr>
    </table>
</body>
</html>
 
 
  • 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
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79

二十一、获取svn报错: 
Jenkins org.tmatesoft.svn.core.SVNException: svn: E175002: Processing REPORT request response failed 
可能问题:访问的svn地址为公司的内网地址 
解决方法:将svn地址改为外网ip地址

二十二、执行.sh时 Permission denied 
如果你是root登陆的话(不是的话,切换到root用户,对*.sh赋可执行的权限) 
chmod 777 *.sh 
or 
chmod +x *.sh

二十三、多个有依赖关系job的执行

二十四、Jenkins cannot restart itself as currently configured 
解决办法:Go to Manage Jenkins links. 
Find the option “Install as Windows service”. Click on install. 
Now (jenkins_url)/restart option will work. I faced this same issue now 
(系统管理->设置为Windows服务)

二十五、插件安装失败 
一、在提示下载错误的地方把网站粘贴复制出来,进去那个网站,然后下载.hpi文件 
二、在插件管理->高级里手动安装 
如还是安装失败,执行步骤三 
三、关闭jenkins,然后找到jenkins目录下的plugin目录下刚才安装失败的.hpi,删除,直接将下载的.hpi文件放进去,重启jenkins即可

二十六、多个job之间传递参数 
参考网址:http://blog.csdn.net/itfootball/article/details/45060331

二十七、Pipeline多个job之间的串联 
绿色是表示执行通过的,黄色是正在执行的,蓝色是未执行的,还有红色是执行失败的。

二十八、Windows环境变量的引用格式为%environment_var%,linux为$environment_var

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值