版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
22/1711/17.Jenkins.操作手册XX测试部目 录1章概述123Jenkins安装3资源下载3运行Jenkins的前提3Jenkins启动3Jenkins访问4Jenkins根本设置5设置JDK5设置ANT5配置邮件信息5创立任务5运行并监控构建作业7主把握面板7手动构建一个任务7任务构建状态738插件治理:8FindBugs插件设置8Ftp插件配置9Junit插件9通过远程访问触发9WebLogic.Deployer9安全篇10共性化设置11412..editlock问题12IOException:Unabletodelete问题12notrecognizedasavalidapplicationtype问题12514CI挑战15ANT根本学问15.1章概述什么是持续集成随着软件开发简洁度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经渐渐成为开发过程中不行回避的问题。尤其是近些年来,灵敏〔Agile在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。持续集成正是针对这一类问题的一种软件开发实践,对于提高软件开发效率并保障软件开发质量供给了XX是通过自动化的构建来验证,包括自动编译、公布和测试,从而尽快地觉察集成错误,让团队能够更快的开发内聚的软件。持续集成最早由MartinFowler10任何人在任何地点,任何时间可以构建整个工程。在持续集成构建过程中,每一个单元测试都必需被执行。在持续集成构建过程中,每一个单元测试都必需通过。持续集成构建的结果是可以公布的软件包。当以上任何一点不能满足时,整个团队的主要任务就是去解决这个问题。1.2持续集成的核心价值持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于削减重复过程以节约时间、费用和工作量;觉察软件的集成问题,使任意时间公布可部署的软件成为了可能;持续集成还能利于软件本身的进展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进展有效决策,同时建立团队对开发产品的信念。持续集成的原则业界普遍认同的持续集成的原则包括:需要版本把握软件保障团队成员提交的代码不会导致集成失败。常用的版本把握软件有IBMRationalClearCase、CVS、Subversion等;开发人员必需准时向版本把握库中提交代码,也必需常常性地从版本把握库中更代码到本地;发,也可以定时启动,如每半个小时构建一次;..22/1733/17必需保证构建的成功。假设构建失败,修复构建过程中的错误是优先级最高的工作。一旦修复,需要手动启动一次构建。持续集成系统的组成由此可见,一个完整的构建系统必需包括:一个自动构建过程,包括自动编译、分发、部署和测试等。一个代码存储库,即需要版本把握软件来保障代码的可维护性,同时作为构建过程的素材库。一个持续集成效劳器。本文中介绍的Jenkins/Jenkins器。JenkinsJenkinsCI,Hodson是基于Java控持续重复的工作,功能包括:持续的软件版本公布/测试工程。监控外部调用执行的工作。Jenkins的版本取名叫Jenkins,所以本文档中的指JenkinsJenkins2使用Jenkins人员需要对持续集成的概念有所了解,更多的要求对代码的编译过程很了解,Jenkins对于maven工程完整的编译和公布流程如下:Jenkins从SVN在编译机器上触发编译命令或脚本。编译得到的结果文件。把结果文件传到指定的效劳器上。使用Jenkins进展编译的人员,需要对自己的代码的编译方法,过程格外了解,对编译任务进展分拆。.2Jenkins资源下载首先从:///jenkins版本,1.594,jenkins.war;Jenkins为免费开源软件,并且更速度稳定,2个版本,一个最版本,一个老但稳定的版本。可自行选择。运行Jenkins的前提环境变量的设置:JAVA_HOME,JDK的安装名目,JDK1.7,JDK1.8ANT_HOME,Ant的名目,ant1.9.4可用。JENKINS_HOME,设置Jenkins的配置文件名目,默认为用户的名目,Jenkins的安装名目,便于把握;MEVAN_HOME,Maven的名目,3.2.3可用。PATH,java、ant,mavenbinpath名目下;CLASSPATH,JDKtools.jarclasspath名目中;Jenkins启动jenkins;直接通过命令行如下:说明:Portjenkins运行的端口,8080,JenkinsWinstone容器中;CommandLineCommandLineParameterDescription--Port=$_PORTRunsJenkinslisteneronport$_PORTusingstandardprotocol.Thedefaultisport8080.Todisable<becauseyou”reusings>,useport-1.--ListenAddress=$_HOSTBindsJenkinstotheIPaddressrepresentedby$_HOST.Thedefaultis—i.e.listeningonallavailableinterfaces.--sPort=$_PORTUsesSprotocolonport$_PORT--sListenAddress=$S_HOSTBindsJenkinstolistenforSrequestsontheIPaddressrepresentedby$S_HOST.--prefix=$PREFIXRunsJenkinstoincludethe$PREFIXattheendoftheURL...10/175/17Forexample,tomakeJenkinsaccessibleat://myServer:8080/jenkins,set--prefix=/jenkins--ajp13Port=$AJP_PORT RunsJenkinslisteneronport$AJP_PORTusingstandardAJP13protocol.Thedefaultisport8009.Todisable<becauseyou”reusings>,useport-1.--ajp13ListenAddress=$AJP_HOST--argumentsRealm.passwd.$ADMIN_USER--argumentsRealm.roles.$ADMIN_USER=admin-Xdebug-Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=n
BindsJenkinstotheIPaddressrepresentedby$AJP_HOST.Thedefaultis—i.e.listeningonallavailableinterfaces.Setsthepasswordforuser$ADMIN_USER.IfJenkinssecurityisturnedon,youmustloginasthe$ADMIN_USERinordertoconfigureJenkinsoraJenkinsproject.NOTE:Youmustalsospecifythatthisuserhasanadminrole.<Seenextargumentbelow>.Setsthat$ADMIN_USERisanadministrativeuserandcanconfigureJenkinsifJenkins”securityisturnedon.SeeSecuringJenkinsformoreinformation.Setsdebuggingonandyoucanaccessdebugon$DEBUG_PORT.-%m-%d_%H-%M“`.log Loggingtodesiredfile-XX:PermSize=512M referringtotheseoptionsforOracleJava-XX:MaxPermSize=2048M-Xmn128M-Xms1024M-Xmx2048MWeb容器中运行JenkinsWeb效劳器中,Tomcat、oss、WebLogic中,Jenkins.war放置到相应名目,启动效劳就可以进展访问;推举承受这个方式运行,便利配置和迁移。Jenkins访问jenkins是否运行正常,通过访问://9:8089即可。HudosnIE、FireFox等扫瞄器。分布式jenkins安装为了满足各种编译环境的需求,jenkins支持分布式,jenkinsagent的形式运行slave机。jenkins的主机上,选择系统治理>治理节点节点>输入名字选择DumbSlave>OK设置处理器的数量,一般以CPU核数来确定,43选择远程根名目,slave机上用来存放jenkins自身运行所要的文件使用方式:为了分担master机器的负载,可选尽可能多的使用本机器或,只允许运行指定本机的任务启动方法:对于window推举使用LaunchslaveagentsviaJavaWebStart有效性:任何时间有效配置好了之后,slave机器上翻开扫瞄器,访问jenkins主机:://yourjenkinsmaster:8080>在系统治理>治理节点,翻开建立的节点。点启动按钮,jenkinsagent就会从扫瞄器下载包需要的jar、jnlp包,然后启动。运行程序.windows中,可以安装成为效劳进程,selenium这种自动化工作的机器,则不建议这么做。2.2JenkinsJenkins的根本设置都在系统的后台设置中,具体路径为:系统治理->系统治理设置JDKJAVA_HOME设置,JAVA_HOME,可以不需要再进展配置,同时JenkinsJDK。MavenANT可以在这里进展ANT_HOME设置,假设系统已经设置了ANT_HOME,可以不需要再进展配置,同时可JenkinsANT。备注:为了让配置更加简洁,JAVA_HOME和ANT_HOME,MAVEN_HOME,便于系统的迁移。配置邮件信息系统能够在执行打算完成后发送结果邮件,需要配置邮件效劳器的相关信息:上面还需要配置Jenkins的URL地址,作为后期访问地址,一旦设定URL,的条件及属于当前用户的BUG创立任务Jenkins主菜单点击“建任务“,消灭以以下图:选择Buildafree-stylesoftwarerjt击消灭下面的界面:说明:Projectname:工程〔任务名称,工程〔任务名称不能重复,后面通称任务;Description:工程描述,主要对任务进展简要说明;Discardoldbuilds:是否保存过去的构建,默认是保存。<帮助:Jenkins所在的磁盘把构建记录存储的有效期<>Jenkins为此供给了两个标准:1。时间驱动。在Jenkins中您可以推断假设到达确定时限来删除一条记录<例如,七天前>。2。数量驱动。在Jenkins中您可以确保它拥有N份构建。假设又有的构建开头,最早的那份<记录>就将被删除。Jenkins也可以让您建立的个别构建定义为”永久保持这个记录”,以便防止某些重要的构建被自动丢弃。>Thisbuildisparameterized:假设选择此选项,Jenkins将允许您供给一套任意的键值对参数,它们会被传递到构建过程里。配置的参数往往是构建运行环境中的一些环境变量。<帮助:当您使用了Jenkins的各种自动化,有时要求在构建过程中供给一组用户的输入,使用“parameterize“就能够更便利构建。例如,您可能会设立一个按需测试,在那里用户可以提交一个二进制文件的压缩文件来进展测试。DisableBuild:制止此任务进展构建,默认是不制止;..6/17Executeconcurrentbuildsifnecessary<beta>:AdvancedProjectOptionsQuiteperiod:构建前等待时间;RetryCount:SCM仓库中取出尝试时间;Blockbuildwhenupstreamprojectisbuilding:假设上一个仍在构建过程中,停顿本次构建任务;Usecustomworkspace:workspace,JENKINS_HOME的工作名目SourceCodeManagement:指定编译源代码的猎取方式:1〕None:手动方式;2〕CVSCVS仓库中猎取;备注:CVSModule<s>猎取多个工程工程3〕SVNSVN仓库中猎取;N通过de在N的L中需要添加用户名密码信息,例如:svn://username:passwdBuildsTriggers:设置构建触发器Buildafterotherprojectsarebuilt:设置构建的流水线,配置在设置的任务构建完成后自动构建此任务,进展设置后,可以在任务统揽中看到以下“下游工程说明“Triggerbuildsremotely<e.g.,fromscripts>:设置远程触发进展任务构建;3〕Buildperiodically:设置构建频率,QuartzCronTrigger设置雷同;4〕PollSCMSCM库中检查源代码是否更:备注:关于第三和第四两点,根本配置为分钟小时天月星期举例:每分钟进展集成*****, 每5分钟进展集成5****,每天12点和23整点进展集成012,23***BuildEnvironment:设置构建环境设置ToolEnvironment:设置工具的环境变量Createaformattedversionnumber:设置构建的版本号Build:执行构建6种方式,shellLinux环境、MavenMaven编译、Command〔windows批处理命令、Ant、EasyAnt、Exportjobruntimeparameters。举例:Ant:备注:Targetsant脚本中哪几个局部,可以添加多个;BuildFile:Ant脚本的物理位置;PropertiesAnt指定的属性;JavaOptionsjava时的属性,例如内存、堆大小等;2〕CommandWindows的批处理命令,Hodson设置的变量;Post-buildActions1〕PublishJavadocJavaDoc时的文件名目;2〕Archivetheartifacts:设置构建后哪些文件需要进展归档处理;3〕E-mailNotification:邮件提示备注:可以向多个人发送邮件,通过“;“进展分割4〕StatusMonitor:构建状态监控;:,好,根本的配置到这里完毕,可以搭建一个的任务进展构建了;.运行并监控构建作业主把握面板当配置完成一个任务后,回到主把握面板:上图中右边列表列举现在已经配置的任务已经任务当前的状态左边有构建队列,当有构件时,会把当前正在构建的队列在上面进展列举;RSS订阅,支持订阅全部、失败和最终一次等;手动构建一个任务当一个任务配置完成后,可以承受手动构建和触发器构建两种方式,在工程验证阶段,可以通过手动触发方式,点击任务区的“马上构建“,BuildHistory中消灭以下进度条:点击进度条,可以进入到具体的编译过程,例如以以下图:等构建完毕后,你可以看到最任务构建的结果图:扫瞄任务的整体运行状况入以以下图:最左边列图示为最终一次构建状态,其次列图示为整个任务的构建总体结果,具体如下表示,以以下图也只截取局部:任务构建状态Jenkins通过当前构建状态和构建稳定当前构建状态分为以下几种工程构建完成,同时被认为是稳定的工程构建完成,但被认定为不稳定构建失败作业已经制止构建稳定行,Jenkins会基于一些后处理器任务为构建公布一个稳健指数<0-100>,越高越稳定构建成功率>80%60%-79%40%-59%20%-39%0-19%期盼任务编译都处于 和 状态。7/17..8/173插件治理:Jenkins类库现有的Jenkins功能性扩展和开发者们为Jenkins供给的功能都可以称之为Jenkins插件。JenkinsArtifactUploadersAuthenticationandUserManagementBuildNotifiersBuildReports、BuildTools、BuildTriggers、BuildWrappers、ClusterManagementandDistributedBuild、CommandLineInterfaceExternalSite/ToolIntegrationsMavenMiscellaneousOtherPost-BuildActionsDecorators、SlaveLaunchersandControllers、SourceCodeManagement、UserInterface17个插件大类。ArtifactUploaders:帮助把构建结果公布到一些网络终端上,FTP效劳器、Tomcat应用效劳器、J版本库等等;AuthenticationandUserManagement:Hodson根本包不供给用户权限治理,通过此插件,融入LDAP、MySql等权限治理插件,丰富权限治理;BuildNotifiers:任务构建完成后公布通知的方式,支持Twitter、IRC、Google日历等;4〕BuildReports:主要针对构建的源代码进展分析的报表,例如FindBugs、Checkstyle等等,5〕BuildTriggers:构建大事监听并触发构建的插件, 例如通过URL转变进展触发编译;6〕BuildTools:实现额外构建工具的插件,例如RubyPlugin、GrailsPlugin等;BuildWrappers:ClusterManagementandDistributedBuild:9〕CommandLineInterface:10〕ExternalSite/ToolIntegrations:11〕Maven:Miscellaneous:OtherPost-BuildActions:14〕Decorators:15〕SlaveLaunchersandControllers:16〕SourceCodeManagement:17〕UserInterface:备注:全部的插件安装完毕后,必需重启Jenkins才能使插件生效,不支持即插即用模式。具体插件使用说明:FindBugs插件设置FindBugs,并解压到相应的名目,findbugs-ant.jarANT_HOME\lib名目下;FINDBUGS_HOME名目为解压名目;Build.xmlFindBugs配置:findBugsbuild.xml中的路径<!—设置环境变量定义--><propertyenvironment=“env“/><!—findbugs.home路径--><propertyname=“findbugs.home“value=“${env.FINDBUGS_HOME}“/>Findbugs任务<taskdefname=“findbugs“classname=“edu.umd.cs.findbugs.anttask.FindBugsTask“/>FindBugs任务,例如:<targetname=“findbugs“depends=“compile-shipUd“><findbugshome=“${findbugs.home}“.output=“xml:withMessages“outputFile=“findbugs.xml“><sourcePathpath=“${jar.src};${jar.src1};${shipUdjar.src}“/><classlocation=“${shipudjar.bin}“/></findbugs></target>EclipseFindbugs选择Eclipse->Windows-Perference,ant进展编辑,选择Runtimefindbugs-ant.jarClasspath名目下下,可以通过选择“AddExternalJARS“;Tasks进展配置,Task,findbugs,Locationfindbugs-ant.jar的物理位置,并指定具体为哪个类,如以以下图:JenkinsFindbugs选择需要配置任务进展配置,findbugs选项,如以以下图:编译成功后,fingbugs的结果和趋势图findbugs的认定结果和具体的代码,趋势图Ftp插件配置FTP插件;FTP效劳器的相关信息,如以以下图:FTPFTP效劳器,并指定源文件和目的地址。Junit插件通过远程访问触发Jenkins支持远程触发方式进展构建,具体设置在当前任务的设置中,如以以下图:用户通过访问上面的URL就可以进展相应的构建。WebLogic.DeployerWebLogicServer供给以下四种方式来帮助你配置和部署应用系统:Weblogic.Deployer治理把握台WLSTWeblogic.Deployerweblogic.Deployer供给基于命令行的界面来执行根本和高级部署任务。当期望命令行访问WebLogicServer部署功能时或者当需要使用治理把握台执行不受支持的部署任务时使用weblogic.Deployer。治理把握台Web的部署助手,这些助手可以指导您完成部署过程。治理把握台还供给控件根本部署功能并且可以访问受支持的扫瞄器时,请使用治理把握台。WLSTWebLogic脚本工具<WLST>是的命令行界面,可用于使域配置任务〔包括应用程序部署配置和9/17..10/17部署操作自动化。为了实现系统的自动部署,可以承受WebLogic.Deployer和WLST两种方式进展,但由于持续集成环WebLogicServer在物理位置上差异,WebLogic.Deployer作为持续继承公布到WebLogicServer方式。下面对其进展根本操作介绍。WebLogic.Deployerjava命令方式进展部署,3WebLogicjar放到CLASSPATH中或则在启动命令行中添加-classpath命令参数。下面简洁说明几个最常用的WebLogic.Deployer的命令:部署或重部署应用程序或模块javaweblogic.Deployer-adminurlt3://:7001-usernameusername-passwordpassword -deploy-targetstarget_list -upload-namedeployment_name停顿部署单元并从目标效劳器中删除临时文件javaweblogic.Deployer-adminurlt3://:7001-usernameusername-passwordpassword-undeploy-targetstarget_list-namedeployment_name具体命令说明:命令或选项 说明-usernameusername 治理员用户名。假设供给-username选项但不供给对应的-password选项,则weblogic.Deployer会提示您输入密码。-passwordpassword-targets-upload-namedeployment_name
治理员用户密码。target_list将指定的部署文件〔包括部署打算或备用部署描述符传输到治理效劳器。[warear包的路径]要安排给部署的应用程序或独立模块的部署名称,可选。具体可以参考::///wls/docs92/deployment/wldeployer.html#wp1024422安全篇Jenkins安装完成后,默认是不进展安全把握的,需要在系统配置中添加安全把握后,具体位置在系统治理的安全域中,Jenkins支持Jenkins专用用户数据库、LDAP、Servlet容器代理、MySql数据库。授权策略包括承受安议承受Jenkins,安全策略承受安全矩阵方式,已经能够根本满足现有的模式。如以以下图:.选择Jenkins专用用户数据库后,勾选允许用户注册选项。在添加用户或组,对其进展附权限。用户注册在首页的右上角,如以以下图点击注册后,消灭如以以下图:添加用户的根本信息,点击注册按钮后,用户注册完成,用户没有赋权限,登陆后的界面如下:备注:对用户先赋权限或先注册再赋权限没有先后挨次。共性化设置Jenkins对用户视图支持共性化定制,保证登陆用户只关注自身关注的工程视图,用户登陆后,默认一般显示如以以下图:可以点击“+“增加共性化视图,消灭如下视图:选择ListView选项,填写“Viewname“,以及需要的任务选项,同时可以选择需要呈现的列,选择完成后保存即可,可以在首页上显示。用户登陆后,可以选择“PersonalView“或“MyViews“查看共性化界面。11/17....12/1713/1744.1editlock现象:当在构建时命令输出行提示:<2023-11-24042049秒CST><Info><J2EEDeploymentSPI><BEA-260121><Initiatingdeployoperationforapplication,gaza[archive:D:\Jenkins\jobs\gaza\workspace\gaza\build\war\gaza],togaza.>[Deployer:149163]Thedomaineditlockisownedbyanothersessioninnon-exclusivemode-thisdeploymentoperationrequiresexclusiveaccesstotheeditlockandhencecannotproceed.解决方法:weblogic把握台登陆后,应改为Lock&Edit状态再构建。4.2IOException:Unabletodelete现象:当构建时报不能删除之前的文件时,具体信息如下:Checkingoutafreshworkspacebecausethere”snoworkspaceatD:\Jenkins\jobs\gaza\workspace\gazajava.io.IOException:UnabletodeleteD:\Jenkins\jobs\gaza\workspace\gazaatJenkins.Util.deleteFile<Util.java:261>atJenkins.Util.deleteRecursive<Util.java:303>atJenkins.Util.deleteContentsRecursive<Util.java:222>atJenkins.scm.SubversionSCM$CheckOutTask.invoke<SubversionSCM.java:726>atJenkins.scm.SubversionSCM$CheckOutTask.invoke<SubversionSCM.java:660>atJenkins.FilePath.act<FilePath.java:753>atJenkins.FilePath.act<FilePath.java:735>atJenkins.scm.SubversionSCM.checkout<SubversionSCM.java:653>atJenkins.scm.SubversionSCM.checkout<SubversionSCM.java:601>atJenkins.model.AbstractProject.checkout<AbstractProject.java:1119>atJenkins.model.AbstractBuild$AbstractRunner.checkout<AbstractBuild.java:479>atJenkins.model.AbstractBuild$AbstractRunner.run<AbstractBuild.java:411>atJenkins.model.Run.run<Run.java:1324>atJenkins.model.FreeStyleBuild.run<FreeStyleBuild.java:46>atJenkins.model.ResourceController.execute<ResourceController.java:88>atJenkins.model.Executor.run<Executor.java:139>Finished:FAILURE解决方法:到Jenkins安装的机器下,将当前翻开D:\Jenkins\jobs\gaza\workspace\gaza的名目关闭,当前有在读的文件,Jenkins4.3notrecognizedasavalidapplicationtype现象:Ant打包已完成,在推到webl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社交媒体游戏联运合同2026
- 线上数据标注兼职涉密项目合同
- 职业发展人才选拔合同2026
- 奶茶饮品原材料采购质量协议
- 广东省广州市2025-2026学年高一下学期7月期末考试语文试卷
- 2026年火山和地震测试题及答案
- 2026年软件登记退税测试题及答案
- 2026年考虑心里测试题及答案
- 2026年公路水利安全测试题及答案
- 2026年工匠精神考试测试题及答案
- 业务推广及推广费结算协议
- 拆除钢架棚安全协议书
- 2025年国家公务员考录《申论》真题及参考答案(行政执法卷)
- 沥青路面施工工艺流程
- 甘肃2025年甘肃省农业科学院招聘14人笔试历年参考题库附带答案详解
- 2023农药经营人员上岗证考核试题及答案
- T-CCMA 0055-2017 工程机械液压管路布局规范
- 消化道出血介入栓塞治疗
- 黑龙江哈尔滨历年中考作文题与审题指导(2001-2024)
- 关于物业客服培训的
- 2023年笔试考试:HSK笔试(六级)真题模拟汇编(共1089题)
评论
0/150
提交评论