版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自动化构建部署安装手册自动化构建部署安装手册2017年07月第页编写目的实现项目代码自动化构建、打包、公布、测试、部署。版本要求软件版本讲明jenkins2.62.6以上版本必须jdk1.8及以上jdk1.8tomcat8.0maven3.3.9sonarQube6.4SonarQubeScanner3.0.3centos7.2预备工作服务器硬件要求:cpu4核心,内存16g,硬盘40g,centos7安装部署安装JDK版本讲明jjdk-7u80-linux-x64.tar.gz。安装步骤1、登录服务器。2、新建/usr/java文件夹,将jdk-8u112-linux-x64.tar.gz上传放到该文件夹中,并将工作目录切换到/usr/java目录下。#cd/usr#mkdirjava3、解压JDK,在/usr/java多了一个jdk1.8.0_112文件夹。#tar-zxvf
jdk-8u112-linux-x64.tar.gz环境配置#vi/etc/profile在profile底部添加如下内容#jdk环境变量配置exportJAVA_HOME=/usr/java/jdk1.8.0_112exportPATH=$JAVA_HOME/bin:$PATHexportCLASSPATH=.执行如下命令使环境变量配置生效。#source/etc/profile测试JDK1、使用javac和java命令,可不能出现commandnotfound错误。2、使用java-version,出现版本为javaversion"1.8.0_112"。3、echo$JAVA_HOME,echo$CLASSPATH,echo$PATH,看看自己的配置是否都正确。至此jdk安装配置差不多完成。安装maven1、下载maven部署包将maven上传到/opt下并解压2、配置环境变量#vi/etc/profile添加如下export
MAVEN_HOME=/opt/maven3.5export
PATH=$MAVEN_HOME/bin:$PATH
保存后,执行#source/etc/profile3、测试是否成功mvn-v或echo$MAVEN_HOME4、配置本地仓库修改conf下面settting.xml文件安装tomcat版本讲明apache-tomcat-8.5.9.tar.gz安装步骤1、登录服务器。2、将apache-tomcat-8.5.9.tar.gz上传放到/usr/local目录下。3、解压tomcat。#tar-zxvf
apache-tomcat-8.5.9.tar.gz修改文件夹名称为tomcat。#mv
apache-tomcat-8.5.9tomcat8测试tomcat1、启动服务#/usr/local/tomcat8/bin/startup.sh扫瞄器访问
http://ip.端口:8080/,如:9:8080/注意:假如访问不成功可能是防止墙没有关闭。查看防火墙状态#firewall-cmd--state关闭防火墙#systemctlstopfirewalld禁止开机启动#systemctldisable
firewalld3、查看tomcat进程
#ps-ef|grepjava#ps-ef|greptomcat启动与停止1、启动服务#/usr/local/tomcat8/bin/startup.sh2、停止服务#/usr/local/tomcat8/bin/shutdown.sh环境配置1、配置JVM修改tomcat下bin目录下catalina.bat文件1、linux配置,第二行添加。注意:具体参数依照环境配置,示例内存8g。JAVA_OPTS="-server-Xms4096m-Xmx4096m-XX:PermSize=128M-XX:MaxPermSize=256m"2、windows配置,第一行添加setJAVA_OPTS=-server-Xms4096m-Xmx4096m-XX:PermSize=128M-XX:MaxPermSize=256m设置随机启动1、创建启动用户#useraddtomcat2、添加启动脚本#vi/etc/rc.d/init.d/tomcat添加如下内容并保存,设置启动权限为tomcat。#!/bin/bash##starguolinytomcat启动脚本#/etc/rc.d/init.d/tomcat8#initscriptfortomcatprecesses##processname:tomcat#description:tomcatisaj2seserver#chkconfig:23458616#description:StartuptheTomcatservletengine.if[-f/etc/init.d/functions];then./etc/init.d/functionselif[-f/etc/rc.d/init.d/functions];then./etc/rc.d/init.d/functionselseecho-e"\atomcat:unabletolocatefunctionslib.Cannotcontinue."exit-1fiRETVAL=$?CATALINA_HOME="/usr/local/tomcat8"case"$1"instart)if[-f$CATALINA_HOME/bin/startup.sh];thenecho$"StartingTomcat"su-c$CATALINA_HOME/bin/startup.shtomcatfi;;stop)if[-f$CATALINA_HOME/bin/shutdown.sh];thenecho$"StoppingTomcat"su-c$CATALINA_HOME/bin/shutdown.shtomcatfi;;*)echo$"Usage:$0{start|stop}"exit1;;esacexit$RETVAL注意:只需要修改CATALINA_HOME="/usr/local/tomcat8",指tomcat安装路径。2、添加权限#chmod
755
/etc/rc.d/init.d/tomcat
#chkconfig--addtomcat
#chkconfig
--level
2345
tomcat
on3、重启电脑测试是否生效扫瞄器访问
http://ip.端口:8080/,如:9:8080/安装jenkens版本讲明Jenkins2.6下载安装包并部署#cd/usr/local/tomcat8/webapps#wgethttp://mirrors.jenkins.io/war-stable/latest/jenkins.war配置jenkins环境变量设置jenkins数据(下载代码、插件等)保存路径#cd/opt#mkdirjenkins#vi/etc/profile添加如下内容JENKINS_HOME=/opt/jenkins#source/etc/profile验证是否配置环境变量成功#echo$JENKINS_HOME猎取治理员密码启动tomcat后,
访问http://IP:8080/jenkins按提示/jenkins/secrets/initialAdminPassword猎取治理员密码#cat/jenkins/secrets/initialAdminPassword复制密码到提示框点击默认安装插件选择第一个安装,耐心等待。配置治理员信息设置治理员账号密码等信息,点击点击能够进入jenkins进行配置。安装插件1、Maven插件
MavenIntegrationplugin2、公布插件
DeploytocontainerPlugin
支持将代码部署到tomcat容器3、git插件
Gitplugin4、svn插件
SubversionPlug-in和SVNPublisherplugin5、发送邮件插件
EmailExtensionPlugin全局设置系统治理--GlobalToolConfiguration--配置JDK、Maven、git配置maven配置jdk配置项目编译时需要的jdk版本。注意:目前我们项目都jdk1.7编译的,因此需要在系统安装一个jdk1.7,官网下载一个tar包解压即可,不用配置环境变量。配置maven系统设置-Xms256m-Xmx512m-Dfile.encoding=UTF-8(注意:具体参数依照环境配置)邮箱通知配置jenkins内置的邮件功能使用email-ext插件扩展的邮件功能1、系统治理-系统设置,先设置发件人的邮件在"Jenkins
Location"设置系统治理员地址(必须设置)2、系统治理-系统设置,再设置全局设置:在"邮件通知"部分配置发送邮件的用户名、密码(注意那个地点的密码使用的是163邮箱设置的"客户端授权码",不是登陆密码,建议不用QQ邮箱,会容易导致发送失败)3、勾选"通过发送测试邮件测试配置",填入测试收件人,点击"Test
Configuration"到qq邮箱里check新邮件email-ext插件配置Jenkins默认提供了一个邮件通知,能在构建失败、构建不稳定等状态后发送邮件。然而它本身有专门多局限性,比如它的邮件通知无法提供详细的邮件内容、无法定义发送邮件的格式、无法定义灵活的邮件接收配置等等。在如此的情况下,我们找到了Jenkins Email Extension Plugin。该插件能同意你自定义邮件通知的方方面面,比如在发送邮件时你能够自定义发送给谁,发送具体什么内容等等。email-ext插件可依照构建的结果,发送构建报告,给当前的committer(用git做代码治理)
1)该插件支持jenkins1.5以上的版本,插件的安装此处略,若您可选插件的页卡的列表是空的,先去高级页面检查更新下。
2)插件用于job配置页面,添加构建后步骤“EditableEmailNotification”1、系统治理-系统设置,先设置全局:详细参数讲明如下:1.OverrideGlobalSettings:假如不选,该插件将使用默认的E-mailNotification通知选项。反之,您能够通过指定不同于(默认选项)的设置来进行覆盖。2.DefaultContentType:指定构建后发送邮件内容的类型,有Text和HTML两种.3.UseList-IDEmailHeader:为所有的邮件设置一个List-ID的邮件信头,如此你就能够在邮件客户端使用过滤。它也能阻止邮件发件人大部分的自动回复(诸如离开办公室、休假等等)。你能够使用你适应的任何名称或者ID号,然而他们必须符合如下其中一种格式(真实的ID必须要包含在<和>标记里):<>BuildNotifications<>“BuildNotifications”<>4.Add'Precedence:bulk'EmailHeader:设置优先级,5.DefaultRecipients:自定义默认电子邮件收件人列表。假如没有被项目配置覆盖,该插件会使用那个列表。您能够在项目配置使用$DEFAULT_RECIPIENTS参数包括此默认列表,以及添加新的地址在项目级不。添加抄送:cc:电子邮件地址例如,CC:someone@6.ReplyToList:回复列表,Acommaseparatedlistofe-mailaddressestouseintheReply-Toheaderoftheemail.Thisvaluewillbeavailableas$DEFAULT_REPLYTOintheprojectconfiguration.7.Emergencyreroute:假如那个字段不为空,所有的电子邮件将被单独发送到该地址(或地址列表)。8.ExcludedCommitters:防止邮件被邮件系统认为是垃圾邮件,邮件列表应该没有扩展的账户名(如:@),同时使用逗号分隔9.DefaultSubject:自定义邮件通知的默认主题名称。该选项能在邮件的主题字段中替换一些参数,如此你就能够在构建中包含指定的输出信息。10.MaximumAttachmentSize:邮件最大附件大小。11.DefaultContent:自定义邮件通知的默认内容主体。该选项能在邮件的内容中替换一些参数,如此你就能够在构建中包含指定的输出信息。12.DefaultPre-sendScript:默认发送前执行的脚本(注:grooy脚本,这是我在某篇文章上看到的,不一定准确)。13.EnableDebugMode:启用插件的调试模式。这将增加额外的日志输出,构建日志以及Jenkins的日志。在调试时是有用的,但不能用于生产。14.EnableSecurity:启用时,会禁用发送脚本的能力,直接进入Jenkins实例。假如用户试图访问Jenkins治理对象实例,将抛出一个安全异常。15.ContentTokenReference:邮件中能够使用的变量,所有的变量差不多上可选的。
2、项目配置1)要想在一个项目中使用email-ext插件,你首先必须在项目配置页激活它。在构建后操作——”Add
Post-build
Actions”选项中勾选”Editable
Notification”标签。如下图:项目差不多配置参数讲明:当插件激活后你就能编辑如下字段(只列出常用的字段):ProjectRecipientList:这是一个以逗号(或者空格)分隔的收件人邮件的邮箱地址列表。同意您为每封邮件指定单独的列表。Ps:假如你想在默认收件人的基础上添加收件人:$DEFAULT_RECIPIENTS,<新的收件人>DefaultSubject:同意你配置此项目邮件的主题。DefaultContent:跟DefaultSubject的作用一样,然而是替换邮件内容。AttachBuildLog:附件构建日志。CompressBuildLogbeforesending:发送前压缩生成日志(zip格式)。
2)点击高级,设置触发器:(注意:所有的触发器都只能配置一次)触发器参数讲明:Failure:即时发送构建失败的邮件。假如”StillFailing”触发器已配置,而上一次构建的状态是”Failure”,那么”StillFailing”触发器将发送一封邮件来替代(它)。Unstable:即时发送构建不稳固的邮件。假如”StillUnstable”触发器已配置,而上一次构建的状态是”Unstable”,那么”StillUnstable”触发器将发送一封邮件来替代(它)。StillFailing:假如两次或两次以上连续构建的状态为”Failure”,发送该邮件。Success:假如构建的状态为”Successful”发送邮件。假如”Fixed”已配置,而上次构建的状态为“Failure”或“Unstable”,那么”Fixed”触发器将发送一封邮件来替代(它)。Fixed:当构建状态从“Failure”或“Unstable”变为”Successful”时发送邮件。StillUnstable:假如两次或两次以上连续构建的状态为”Unstable“,发送该邮件。BeforeBuild:当构建开始时发送邮件。关于内容,你也许注意到了那个地点调用了个‘html.jelly’的模板,这是插件内置的,直接用即可。因此也能够自己写jelly文件,确保放置jenkins/home/email-template下以供jenkins调用。
<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>${ENV,var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title></head><bodyleftmargin="8"marginwidth="0"topmargin="8"marginheight="4"offset="0"><tablewidth="95%"cellpadding="0"cellspacing="0"style="font-size:11pt;font-family:Tahoma,Arial,Helvetica,sans-serif"><tr><td>(本邮件是程序自动下发的,请勿回复!)</td></tr><tr><td><h2><fontcolor="#0000FF">构建结果-${BUILD_STATUS}</font></h2></td></tr><tr><td><br/><b><fontcolor="#0B610B">构建信息</font></b><hrsize="2"width="100%"align="center"/></td></tr><tr><td><ul><li>项目名称 : ${PROJECT_NAME}</li><li>构建编号 : 第${BUILD_NUMBER}次构建</li><li>SVN 版本: ${SVN_REVISION}</li><li>触发缘故: ${CAUSE}</li><li>构建日志: <ahref="${BUILD_URL}console">${BUILD_URL}console</a></li><li>构建 Url : <ahref="${BUILD_URL}">${BUILD_URL}</a></li><li>工作目录 : <ahref="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li><li>项目 Url : <ahref="${PROJECT_URL}">${PROJECT_URL}</a></li></ul></td></tr><tr><td><b><fontcolor="#0B610B">ChangesSinceLastSuccessfulBuild:</font></b><hrsize="2"width="100%"align="center"/></td></tr><tr><td><ul><li>历史变更记录:<ahref="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li></ul>${CHANGES_SINCE_LAST_SUCCESS,reverse=true,format="ChangesforBuild#%n:<br/>%c<br/>",showPaths=true,changesFormat="<pre>[%a]<br/>%m</pre>",pathFormat=" %p"}</td></tr><tr><td><b>FailedTestResults</b><hrsize="2"width="100%"align="center"/></td></tr><tr><td><prestyle="font-size:11pt;font-family:Tahoma,Arial,Helvetica,sans-serif">$FAILED_TESTS</pre><br/></td></tr><tr><td><b><fontcolor="#0B610B">构建日志(最后100行):</font></b><hrsize="2"width="100%"align="center"/></td></tr><!--<tr><td>TestLogs(iftesthasran):<ahref="${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><textareacols="80"rows="30"readonly="readonly"style="font-family:CourierNew">${BUILD_LOG,maxLines=100}</textarea></td></tr></table></body></html>用户权限配置1、安装用户治理插件Role-basedAuthorizationStrategy2、配置用户登录才能够操作系统治理--ConfigureGlobalSecurity2、项目矩阵授权策略安装sonarQube版本讲明当前最新版本6.4下载安装包/downloads/选择最新的包部署,当前版本是6.4。解压后上传到服务器对应位置,如:/opt/目录下安装中文包下载对应版本中文包,/SonarQubeCommunity/sonar-l10n-zh本例子使用sonar-l10n-zh-plugin-1.16版本,将语言包放在/extensions/plugins/下,重启即可。创建数据库createdatabasesonarcharactersetutf8collateutf8_general_ci;createusersonaridentifiedby'sonar';grant
all
on
sonar.*
to
sonar;flush
privileges;修改配置文件修改config下sonar.conf文件,数据库连接信息、https设置等1、数据库连接mysqlsonar.jdbc.username=sonarsonar.jdbc.password=sonarsonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false2、端口sonar.web.port=90003、设置登录账号密码sonar.web.port=90004、配置环境变量#vi/etc/profile添加exportSONAR_HOME=/opt/sonarqube-6.4#source/etc/profile服务启动停止1、进入sonarbin目录如bin/linux-x86-64,运行如下命令:./sonar.shrestart
重启服务2、其他常用的命令如下:./sonar.shstop
停止服务
./sonar.shstart
启动服务3、设置随机启动。测试第一次启动会比较慢,需要初始化数据库数据http://IP:9000admin/admin安装SonarQubeScanner版本讲明sonar-scanner-cli-78-linux.zip下载安装包/Distribution/sonar-scanner-cli/sonar-scanner-cli-78-linux.zip解压后上传到/opt目录下。配置scanner见conf目录下perties文件。默认是连接本地sonar服务。Jenkins配置Scanner1)系统治理--GlobalToolConfiguration--SonarQubeScanner安装sonarQube插件在Jenkins插件治理中添加SonarQubeScannerforJenkins,点击安装即可。配置sonarQube1)系统治理--系统设置分不输入sonarQube的名称、服务器URL、服务器认证令牌(见下面生成令牌方法)。猎取令牌方法登录sonarQube,菜单–》配置–》权限–》用户–》TOKENS–》Generate生成token,将生成token添加到此处,完成添加创建项目项目差不多情况源码治理在Credentials点击Add,创建SVN连接账号构建触发器触发器讲明备注构建一个SNAPSHOT依靠关系构建当job依靠的快照版本被build时,执行本job触发远程构造Buildafterotherprojectsarebuilt当本job依靠的job被build时,执行本jobBuildperiodically隔一段时刻build一次,不管版本库代码是否发生变化,通常可不能采纳此种方式。例如:示例:H8**1-5星期一到星期五8点定时执行构建。第一个参数代表的是分钟minute,取值0~59;第二个参数代表的是小时hour,取值0~23;第三个参数代表的是天day,取值1~31;第四个参数代表的是月month,取值1~12;最后一个参数代表的是星期week,取值0~7,0和7差不多上表示星期天。因此0****表示的确实是每个小时的第0分钟执行一次构建。PollSCM依照SCM软件的版本号,定时检查源码变更。假如有更新,则checkout最新code,然后执行构建动作。否则,不进行build,通常采纳这种方式示例:H/5****每五分钟去检查一下远程仓库,看代码是否发生变化。构建环境配置配置sonarQube1、构建环境配置2、配置sonarAnalysisproperties#Rootprojectinformation#每一个项目key必须不相同jectKey=console#显示在sonar上的名字jectName=console#项目的版本jectVersion=1.0sonar.sourceEncoding=UTF-8sonar.language=java#Somepropertiesthatwillbeinheritedbythemodules#sonar.sources=srcsonar.so
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年会酒店协议价格合同
- 大米销售承包合同范本
- 山林土地租赁合同范本
- 广东临时保洁合同范本
- 房屋施工安全合同范本
- 承接草籽工程合同范本
- 设计心理学成功和失败案例教案
- 幼儿园小班《腊八节》教案
- 管理学计划教案
- 小学综合实践活动家务劳动主题教育班会小扫把动起来教案
- 2026陕西省森林资源管理局局属企业招聘(55人)参考考试题库及答案解析
- 生物安全培训班课件
- 2025年南京市卫生健康委员会、南京市机关事务管理局部分事业单位公开招聘卫技人员备考题库附答案详解
- 2025年贵州省贵阳市检察院书记员考试试题及答案
- 2026年江苏医药职业学院单招职业技能测试题库及答案详解一套
- 2026届上海市六校生物高一上期末达标检测模拟试题含解析
- 2025年12月嘉兴海宁水务集团下属企业公开招聘工作人员3人笔试备考重点试题及答案解析
- 2025年卫生管理(副高)考试题库及答案
- 《战后资本主义的新变化》优教课件
- 人员罢工应急预案
- 幼儿园教师朗诵培训
评论
0/150
提交评论