用户工具

站点工具


分享:技术:持续集成:jenkins的介绍安装与使用

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
分享:技术:持续集成:jenkins的介绍安装与使用 [2015/07/14 09:31]
gxx
分享:技术:持续集成:jenkins的介绍安装与使用 [2015/07/15 18:10] (当前版本)
gxx
行 25: 行 25:
 Jenkins的官网地址:http://​jenkins-ci.org/​ Jenkins的官网地址:http://​jenkins-ci.org/​
 ===== Jenkins的安装 ===== ===== Jenkins的安装 =====
-以下是在Ubuntu14.04上安装的步骤(摘自官网的安装步骤:https://​wiki.jenkins-ci.org/​display/​JENKINS/​Installing+Jenkins+on+Ubuntu)+以下是在Ubuntu 14.04.2上安装的步骤(摘自官网的安装步骤:https://​wiki.jenkins-ci.org/​display/​JENKINS/​Installing+Jenkins+on+Ubuntu)
 <​code>​ <​code>​
 wget -O - https://​jenkins-ci.org/​debian/​jenkins-ci.org.key | sudo apt-key add - #​使用sudo输入root的密码 wget -O - https://​jenkins-ci.org/​debian/​jenkins-ci.org.key | sudo apt-key add - #​使用sudo输入root的密码
行 32: 行 32:
 sudo apt-get install jenkins sudo apt-get install jenkins
 </​code>​ </​code>​
-安装过后, +安装过后,详情如下: 
-Jenkins will be launched as a daemon up on startSee /​etc/​init.d/​jenkins ​for more details. +  * 自动新建一个jenkins用户,宿主目录位于/​var/​lib/​jenkins(可以进root用户passwd jenkins修改密码) 
-The '​jenkins' ​user is created to run this service. +  * 日志文件位于/​var/​log/​jenkins/​jenkins.log 
-Log file will be placed in /var/log/​jenkins/​jenkins.log. ​Check this file if you are troubleshooting ​Jenkins. +  * 配置文件位于:/​etc/​default/​jenkins和/​etc/​init.d/​jenkins 
-/etc/default/​jenkins ​will capture configuration parameters ​for the launch like e.g JENKINS_HOME +  * 默认端口8080 
-By default, Jenkins listen on port 8080Access this port with your browser ​to start configuration.+由于,在我的机器8080端口已经被tomcat占用,所以这里要修改端口,方法如下: 
 +  - 修改/​etc/​init.d/​jenkins,搜索''"​$HTTP_PORT"​ "​8080"''​,改成''"​$HTTP_PORT"​ "​7070"''​ 
 +  - 修改/​etc/​default/​jenkins,搜索''​HTTP_PORT=8080''​改成''​HTTP_PORT=7070'​
 +启动脚本可以带上端口号,使用nohup让进程在背后运行 
 +  nohup java -jar /usr/share/​jenkins/​jenkins.war --httpPort=7070 >> ~/​logs/​jenkins/​jenkins_nohup.out & 
 +到这里,安装都已完成。 
 +===== Jenkins的访问 ===== 
 +http://​121.43.104.34:​7070/​ 
 +{{ :​分享:​技术:​持续集成:​1.png?​300 |}} 
 +{{ :​分享:​技术:​持续集成:​2.png?​300 |}} 
 +===== Jenkins新建构建任务前的准备 ===== 
 +访问 系统管理>​系统配置 http://​121.43.104.34:​7070/​configure 
 +  * 设置maven 
 +{{ :​分享:​技术:​持续集成:​3.png?​300 |}} 
 +  * 设置subversion 
 +{{ :​分享:​技术:​持续集成:​4.png?​300 |}} 
 +{{ :​分享:​技术:​持续集成:​5.png?​300 |}} 
 +{{ :​分享:​技术:​持续集成:​6.png?​300 |}} 
 +===== Jenkins新建构建任务 ===== 
 +{{ :​分享:​技术:​持续集成:​7.png?​300 |}} 
 +{{ :​分享:​技术:​持续集成:​8.png?​300 |}} 
 +{{ :​分享:​技术:​持续集成:​9.png?​300 |}} 
 +{{ :​分享:​技术:​持续集成:​10.png?​300 |}} 
 +到这里,Jenkins构建任务就可以成功执行完,相当于Ubuntu上之前写的脚本,达到的效果是一样的: 
 +<​code>​ 
 +mkdir -p ~/​build/​target/​record 
 +mkdir -p ~/​distribute/​record 
 +cd ~/​build/​target/​record 
 +rm -rf * 
 +svn co svn://​121.43.104.34/​gxx/​trunk/​record --username gxx --password 123456 ~/​build/​target/​record 
 +cd ~/​build/​target/​record 
 +mvn clean install -P test 
 +cp ~/​build/​target/​record/​target/​*.war ~/​distribute/​record/​record.war 
 +cp ~/​build/​target/​record/​target/​*.war /​home/​soft/​apache-tomcat-6.0.39/​webapps/​ 
 +tail -f ~/​logs/​record/​record.log 
 +</​code>​ 
 +===== Jenkins常用菜单介绍 ===== 
 +构建历史可以查看之前的构建记录,红色表示构建失败,蓝色表示构建成功 
 +{{ :​分享:​技术:​持续集成:​11.png?300 |}} 
 +点击#​1,#​2进入页面后,点击左侧的Console Output可以查看构建成功日志,失败日志和失败后的解决建议 
 +{{ :​分享:​技术:​持续集成:​12.png?​300 |}} 
 +===== Jenkins暂未研究功能 ===== 
 +Jenkins用户 
 +{{ :​分享:​技术:​持续集成:​13.png?300 |}} 
 +Jenkins插件 
 +{{ :​分享:​技术:​持续集成:​14.png?​300 |}} 
 +Jenkins邮件功能:比如构建失败会邮件通知 
 +{{ :​分享:​技术:​持续集成:​15.png?​300 |}} 
 +{{ :​分享:​技术:​持续集成:​16.png?​300 |}} 
 +Jenkins定规则构建:比如定时每天早上9点构建一次 
 +===== Jenkins相关目录介绍 ===== 
 +<​code>​ 
 +~/.jenkins #​安装Jenkins后,用户宿主目录下会有一个隐藏文件夹(类似.m2),需要ls -a才能看到,里面放置Jenkins基本上所有的东西 
 +~/.jenkins/plugins #​插件目录 
 +~/.jenkins/jobs #​任务目录 
 +~/​.jenkins/​jobs/​record/​workspace #​任务名为record的工作空间目录,里面放置svn拉下来的源代码 
 +~/​.jenkins/​jobs/​record/​workspace/​src #​源代码目录 
 +~/​.jenkins/​jobs/​record/​workspace/​pom.xml #pom.xml 
 +~/​.jenkins/​jobs/​record/​workspace/​target #​构建目标目录 
 +~/​.jenkins/​jobs/​record/​workspace/​target/​record.war #​构建后的war包 
 +</​code>​ 
 +===== Jenkins构建出错记录 ===== 
 +  * 报错1 
 +<​code>​ 
 +[workspace] $ java -Xms256m -Xmx512m -cp /​home/​gxx/​.jenkins/​plugins/​maven-plugin/​WEB-INF/​lib/​maven31-agent-1.5.jar:/​home/​soft/​apache-maven-3.3.3/​boot/​plexus-classworlds-2.5.2.jar:/​home/​soft/​apache-maven-3.3.3/​conf/​logging jenkins.maven3.agent.Maven31Main /​home/​soft/​apache-maven-3.3.3 /​home/​gxx/​.jenkins/​war/​WEB-INF/​lib/​remoting-2.51.jar /​home/​gxx/​.jenkins/​plugins/​maven-plugin/​WEB-INF/​lib/​maven31-interceptor-1.5.jar /​home/​gxx/​.jenkins/​plugins/​maven-plugin/​WEB-INF/​lib/​maven3-interceptor-commons-1.5.jar 45620 
 +Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::​commit_memory(0x00000000dae00000,​ 89456640, 0) failed; error='​Cannot allocate memory'​ (errno=12) 
 +
 +# There is insufficient memory ​for the Java Runtime Environment to continue
 +# Native memory allocation (malloc) failed to allocate 89456640 bytes for committing reserved memory. 
 +# An error report file with more information is saved as: 
 +# /​home/​gxx/​.jenkins/​jobs/​record/​workspace/​hs_err_pid9721.log 
 +</​code>​ 
 +''​insufficient memory''​表示内存不足,Ubuntu中''​top''​查看''​KiB Mem:   ​1016272 total, ​  ​943532 used,    72740 free,      248 buffers''​,显示1016M内存已经使用943M,还剩72M内存可用,内存基本已经用满,所以构建失败!解决方法:扩大内存,或者,kill掉其他进程释放内存,重新构建。 
 +  * 报错2 
 +<​code>​ 
 +Started by user anonymous 
 +Building in workspace /​home/​gxx/​.jenkins/​jobs/​record/​workspace 
 +Updating svn://​121.43.104.34/​gxx/​trunk at revision '​2015-07-15T18:​00:​42.200 +0800'​ 
 +At revision 39 
 +no change for svn://​121.43.104.34/​gxx/​trunk since the previous build 
 +Parsing POMs 
 +[workspace] $ /bin/sh -xe /​tmp/​hudson8535227838770415382.sh 
 ++ cp target/​record.war /​home/​soft/​apache-tomcat-6.0.39/​webapps/​ 
 +ERROR: No such file /​home/​gxx/​.jenkins/​jobs/​record/​workspace/​pom.xml 
 +Perhaps you need to specify the correct POM file path in the project ​configuration
 +Finished: FAILURE 
 +</​code>​ 
 +''​No such file /home/gxx/.jenkins/​jobs/​record/​workspace/​pom.xml''​表示pom.xml找不到,原因是svn路径写错''​svn://​121.43.104.34/​gxx/​trunk''​,应该是''​svn://​121.43.104.34/​gxx/​trunk/​record''​
分享/技术/持续集成/jenkins的介绍安装与使用.1436837516.txt.gz · 最后更改: 2015/07/14 09:31 由 gxx