jenkins(一)

一、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=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

注:要让.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

十八、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>

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

二十一、邮件通知模板
参考网站:http://www.cppblog.com/fwxjj/archive/2012/10/04/192809.html(邮件通知令牌意义)
Default Subject:
构建通知:{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>

二十二、获取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

猜你喜欢

转载自blog.csdn.net/qq_38317509/article/details/81238014
今日推荐