自动化构建部署安装手册培训资料.docx

上传人:牧羊曲112 文档编号:1675076 上传时间:2022-12-13 格式:DOCX 页数:37 大小:1.58MB
返回 下载 相关 举报
自动化构建部署安装手册培训资料.docx_第1页
第1页 / 共37页
自动化构建部署安装手册培训资料.docx_第2页
第2页 / 共37页
自动化构建部署安装手册培训资料.docx_第3页
第3页 / 共37页
自动化构建部署安装手册培训资料.docx_第4页
第4页 / 共37页
自动化构建部署安装手册培训资料.docx_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《自动化构建部署安装手册培训资料.docx》由会员分享,可在线阅读,更多相关《自动化构建部署安装手册培训资料.docx(37页珍藏版)》请在三一办公上搜索。

1、 自动化构建部署 安装手册 自动化构建部署安装手册2017年07月目录1. 编写目的42. 版本要求43. 准备工作44. 安装部署44.1. 安装JDK44.1.1. 版本说明44.1.2. 安装步骤44.1.3. 环境配置54.1.4. 测试JDK54.2. 安装maven54.3. 安装tomcat64.3.1. 版本说明64.3.2. 安装步骤64.3.3. 测试tomcat64.3.4. 启动与停止74.3.5. 环境配置74.3.6. 设置随机启动84.4. 安装jenkens94.4.1. 版本说明94.4.2. 下载安装包并部署94.4.3. 配置jenkins环境变量94.4

2、.4. 获取管理员密码104.4.5. 配置管理员信息124.4.6. 安装插件124.4.7. 全局设置134.4.8. 系统设置144.4.9. 邮箱通知配置154.4.10. 用户权限配置244.5. 安装sonarQube254.5.1. 版本说明254.5.2. 下载安装包254.5.3. 安装中文包264.5.4. 创建数据库264.5.5. 修改配置文件264.5.6. 服务启动停止264.5.7. 测试274.6. 安装SonarQube Scanner274.6.1. 版本说明274.6.2. 下载安装包274.6.3. 配置scanner274.6.4. Jenkins配置

3、Scanner274.6.5. 安装sonarQube插件285. 创建项目305.1. 项目基本情况305.2. 源码管理305.3. 构建触发器315.4. 构建环境配置325.5. 配置sonarQube335.6. 编译环境配置355.7. 指定打包类型355.8. 容器远程部署365.9. SSH远程部署37第 2 页 共 37 页 1. 编写目的 实现项目代码自动化构建、打包、发布、测试、部署。2. 版本要求 软件版本说明jenkins2.62.6以上版本必须jdk1.8及以上jdk1.8tomcat8.0maven3.3.9sonarQube6.4SonarQube Scanne

4、r3.0.3centos7.23. 准备工作 服务器硬件要求: cpu 4核心,内存16g,硬盘40g,centos74. 安装部署4.1. 安装JDK4.1.1. 版本说明jjdk-7u80-linux-x64.tar.gz。4.1.2. 安装步骤 1、登录服务器。 2、新建/usr/java文件夹,将jdk-8u112-linux-x64.tar.gz上传放到该文件夹中,并将工作目录切换到/usr/java目录下。 #cd /usr #mkdir java 3、解压JDK,在/usr/java多了一个jdk1.8.0_112文件夹。 #tar -zxvfjdk-8u112-linux-x6

5、4.tar.gz4.1.3. 环境配置 #vi /etc/profile 在profile底部添加如下内容#jdk环境变量配置export JAVA_HOME=/usr/java/jdk1.8.0_112export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=. 执行如下命令使环境变量配置生效。 #source /etc/profile4.1.4. 测试JDK 1、使用javac和java命令,不会出现command not found错误。 2、使用java -version,出现版本为java version 1.8.0_112。 3、echo $

6、JAVA_HOME, echo $CLASSPATH, echo $PATH,看看自己的配置是否都正确。 至此jdk安装配置已经完成。4.2. 安装maven 1、下载maven部署包 将maven上传到/opt下并解压 2、配置环境变量 #vi /etc/profile 添加如下 exportMAVEN_HOME=/opt/maven3.5 exportPATH=$MAVEN_HOME/bin:$PATH 保存后,执行 #source /etc/profile 3、测试是否成功 mvn -v 或echo $MAVEN_HOME 4、配置本地仓库 修改conf下面settting.xml文件

7、4.3. 安装tomcat4.3.1. 版本说明apache-tomcat-8.5.9.tar.gz4.3.2. 安装步骤 1、登录服务器。 2、将apache-tomcat-8.5.9.tar.gz上传放到/usr/local目录下。 3、解压tomcat。 #tar -zxvfapache-tomcat-8.5.9.tar.gz修改文件夹名称为tomcat。 #mvapache-tomcat-8.5.9 tomcat84.3.3. 测试tomcat1、启动服务 #/usr/local/tomcat8/bin/startup.sh2、 浏览器访问.端口:8080/,如: 注意:如果访问不成功

8、可能是防止墙没有关闭。1 查看防火墙状态 #firewall-cmd -state2 关闭防火墙 #systemctl stop firewalld3 禁止开机启动 #systemctl disablefirewalld 3、查看tomcat进程 #ps -ef |grep java #ps -ef |grep tomcat4.3.4. 启动与停止1、启动服务 #/usr/local/tomcat8/bin/startup.sh2、停止服务 #/usr/local/tomcat8/bin/shutdown.sh4.3.5. 环境配置1、配置JVM 修改tomcat下bin目录下catalina

9、.bat文件 1、linux配置,第二行添加。注意:具体参数根据环境配置,示例内存8g。JAVA_OPTS=-server -Xms4096m -Xmx4096m -XX:PermSize=128M -XX:MaxPermSize=256m 2、windows配置,第一行添加set JAVA_OPTS=-server -Xms4096m -Xmx4096m -XX:PermSize=128M -XX:MaxPermSize=256m4.3.6. 设置随机启动1、创建启动用户 #useradd tomcat2、添加启动脚本 #vi /etc/rc.d/init.d/tomcat 添加如下内容并保

10、存,设置启动权限为tomcat。#!/bin/bash# starguo liny tomcat启动脚本# /etc/rc.d/init.d/tomcat8# init script for tomcat precesses# processname: tomcat# description: tomcat is a j2se server# chkconfig: 2345 86 16# description: Start up the Tomcat servlet engine.if -f /etc/init.d/functions ; then . /etc/init.d/functio

11、nselif -f /etc/rc.d/init.d/functions ; then . /etc/rc.d/init.d/functionselse echo -e atomcat: unable to locate functions lib. Cannot continue. exit -1fiRETVAL=$?CATALINA_HOME=/usr/local/tomcat8case $1 instart) if -f $CATALINA_HOME/bin/startup.sh ; then echo $Starting Tomcat su -c $CATALINA_HOME/bin/

12、startup.sh tomcat fi ;stop) if -f $CATALINA_HOME/bin/shutdown.sh ; then echo $Stopping Tomcat su -c $CATALINA_HOME/bin/shutdown.sh tomcat fi ;*) echo $Usage: $0 start|stop exit 1 ;esacexit $RETVAL 注意:只需要修改CATALINA_HOME=/usr/local/tomcat8,指tomcat安装路径。 2、添加权限 #chmod755/etc/rc.d/init.d/tomcat #chkconfi

13、g -add tomcat #chkconfig-level2345tomcaton3、重启电脑测试是否生效 浏览器访问.端口:8080/,如:4.4. 安装jenkens 4.4.1. 版本说明 Jenkins 2.64.4.2. 下载安装包并部署 #cd /usr/local/tomcat8/webapps #wget 4.4.3. 配置jenkins环境变量 设置jenkins数据(下载代码、插件等)保存路径 #cd /opt #mkdir jenkins #vi /etc/profile 添加如下内容 JENKINS_HOME=/opt/jenkins #source /etc/pro

14、file 验证是否配置环境变量成功 #echo $JENKINS_HOME4.4.4. 获取管理员密码 启动tomcat后,访问 按提示/jenkins/secrets/initialAdminPassword获取管理员密码 #cat /jenkins/secrets/initialAdminPassword 复制密码到提示框点击 默认安装插件 选择第一个安装,耐心等待。 4.4.5. 配置管理员信息 设置管理员账号密码等信息,点击 点击可以进入jenkins进行配置。4.4.6. 安装插件 1、Maven插件Maven Integration plugin 2、发布插件Deploy to c

15、ontainer Plugin 支持将代码部署到tomcat容器 3、git插件Git plugin 4、svn插件Subversion Plug-in和SVN Publisher plugin 5、发送邮件插件 Email Extension Plugin4.4.7. 全局设置系统管理-Global Tool Configuration -配置JDK、Maven、git1、 配置maven 2、 配置jdk 配置项目编译时需要的jdk版本。 注意:目前我们项目都jdk1.7编译的,因此需要在系统安装一个jdk1.7,官网下载一个tar包解压即可,不用配置环境变量。 3、 配置maven 4.

16、4.8. 系统设置 -Xms256m -Xmx512m -D(注意:具体参数根据环境配置) 4.4.9. 邮箱通知配置jenkins 内置的邮件功能使用email-ext插件扩展的邮件功能1、系统管理系统设置,先设置发件人的邮件 在JenkinsLocation设置系统管理员地址(必须设置)2、系统管理系统设置,再设置全局设置: 在邮件通知部分配置发送邮件的用户名、密码(注意这里的密码使用的是163邮箱设置的客户端授权码,不是登陆密码,建议不用QQ邮箱,会容易导致发送失败) 3、勾选通过发送测试邮件测试配置,填入测试收件人,点击TestConfiguration4、 到qq邮箱里check新邮

17、件5、 email-ext插件配置 Jenkins默认提供了一个邮件通知,能在构建失败、构建不稳定等状态后发送邮件。但是它本身有很多局限性,比如它的邮件通知无法提供详细的邮件内容、无法定义发送邮件的格式、无法定义灵活的邮件接收配置等等。在这样的情况下,我们找到了JenkinsEmailExtensionPlugin。该插件能允许你自定义邮件通知的方方面面,比如在发送邮件时你可以自定义发送给谁,发送具体什么内容等等。email-ext插件可根据构建的结果,发送构建报告,给当前的committer (用git做代码管理) 1) 该插件支持jenkins 1.5以上的版本,插件的安装此处略 ,若您可

18、选插件的页卡的列表是空的,先去高级页面检查更新下。 2)插件用于job配置页面,添加构建后步骤“Editable Email Notification”1、系统管理系统设置,先设置全局:详细参数说明如下:1. Override Global Settings:如果不选,该插件将使用默认的E-mail Notification通知选项。反之,您可以通过指定不同于( 默认选项)的设置来进行覆盖。2. Default Content Type:指定构建后发送邮件内容的类型,有Text和HTML两种.3. Use List-ID Email Header:为所有的邮件设置一个List-ID的邮件信头,

19、这样你就可以在邮件客户端使用过滤。它也能阻止邮件发件人大部分的自动回复(诸如离开办公室、休假等等)。你可以使用你习惯的任何名称或者ID号,但是他们必须符合如下其中一种格式(真实的ID必须要包含在标记里):Build Notifications “Build Notifications” 4. Add Precedence: bulk Email Header:设置优先级,5. Default Recipients:自定义默认电子邮件收件人列表。如果没有被项目配置覆盖,该插件会使用这个列表。您可以在项目配置使用$ DEFAULT_RECIPIENTS参数包括此默认列表,以及添加新的地址在项目级别

20、。添加抄送:cc:电子邮件地址例如,CC:someone6. Reply To List:回复列表, A comma separated list of e-mail addresses to use in the Reply-To header of the email. This value will be available as $DEFAULT_REPLYTO in the project configuration.7. Emergency reroute:如果这个字段不为空,所有的电子邮件将被单独发送到该地址(或地址列表)。8. Excluded Committers:防止邮件被

21、邮件系统认为是垃圾邮件,邮件列表应该没有扩展的账户名(如:),并且使用逗号分隔9. Default Subject:自定义邮件通知的默认主题名称。该选项能在邮件的主题字段中替换一些参数,这样你就可以在构建中包含指定的输出信息。10. Maximum Attachment Size:邮件最大附件大小。11. Default Content:自定义邮件通知的默认内容主体。该选项能在邮件的内容中替换一些参数,这样你就可以在构建中包含指定的输出信息。12. Default Pre-send Script:默认发送前执行的脚本(注:grooy脚本,这是我在某篇文章上看到的,不一定准确)。13. Enab

22、le Debug Mode:启用插件的调试模式。这将增加额外的日志输出,构建日志以及Jenkins的日志。在调试时是有用的,但不能用于生产。14. Enable Security:启用时,会禁用发送脚本的能力,直接进入Jenkins实例。如果用户试图访问Jenkins管理对象实例,将抛出一个安全异常。15. Content Token Reference:邮件中可以使用的变量,所有的变量都是可选的。2、项目配置1)要想在一个项目中使用email-ext插件,你首先必须在项目配置页激活它。在构建后操作”AddPost-buildActions”选项中勾选”EditableEmailNotific

23、ation”标签。如下图:项目基本配置参数说明:当插件激活后你就能编辑如下字段(只列出常用的字段): Project Recipient List:这是一个以逗号(或者空格)分隔的收件人邮件的邮箱地址列表。允许您为每封邮件指定单独的列表。Ps:如果你想在默认收件人的基础上添加收件人:$DEFAULT_RECIPIENTS, Default Subject:允许你配置此项目邮件的主题。 Default Content:跟Default Subject的作用一样,但是是替换邮件内容。 Attach Build Log:附件构建日志。 Compress Build Log before sendin

24、g:发送前压缩生成日志(zip格式)。2)点击高级,设置触发器:(注意:所有的触发器都只能配置一次)触发器参数说明:Failure:即时发送构建失败的邮件。如果”Still Failing”触发器已配置,而上一次构建的状态是”Failure”,那么”Still Failing”触发器将发送一封邮件来替代(它)。Unstable:即时发送构建不稳固的邮件。如果”Still Unstable”触发器已配置,而上一次构建的状态是”Unstable”,那么”Still Unstable”触发器将发送一封邮件来替代(它)。Still Failing:如果两次或两次以上连续构建的状态为”Failure”,

25、发送该邮件。Success:如果构建的状态为”Successful”发送邮件。如果”Fixed”已配置,而上次构建的状态为“Failure”或“Unstable”,那么”Fixed”触发器将发送一封邮件来替代(它)。Fixed:当构建状态从“Failure”或“Unstable”变为”Successful”时发送邮件。Still Unstable:如果两次或两次以上连续构建的状态为” Unstable “,发送该邮件。Before Build:当构建开始时发送邮件。对于内容,你也许注意到了 这里调用了个 html.jelly 的模板,这是插件内置的,直接用即可。当然也可以自己写 jelly文件

26、, 确保放置 jenkins/home/email-template下 以供jenkins调用。 $ENV, var=JOB_NAME-第$BUILD_NUMBER次构建日志 (本邮件是程序自动下发的,请勿回复!) 构建结果 - $BUILD_STATUS 构建信息 项目名称 : $PROJECT_NAME 构建编号 : 第$BUILD_NUMBER次构建 SVN 版本: $SVN_REVISION 触发原因: $CAUSE 构建日志: $BUILD_URLconsole 构建  Url&nbs

27、p;: $BUILD_URL 工作目录 : $PROJECT_URLws 项目  Url : $PROJECT_URL Changes Since Last Successful Build: 历史变更记录 : $PROJECT_URLchanges $CHANGES_SINCE_LAST_SUCCESS,reverse=true, format=Changes for Build #%n:%c,showPaths=true,changesFormat=%a%m,pathFormat=   &n

28、bsp;%p Failed Test Results $FAILED_TESTS 构建日志 (最后 100行): !- Test Logs (if test has ran): $PROJECT_URL/ws/TestResult/archive_logs/Log-Build-$BUILD_NUMBER.zip - $BUILD_LOG, maxLines=100 4.4.10. 用户权限配置1、安装用户管理插件Role-based Authorization Strategy2、配置用户登录才可以操作 系统管理-Configure Global Security 2、项目矩阵授权策略 4.5

29、. 安装sonarQube4.5.1. 版本说明 当前最新版本6.44.5.2. 下载安装包 选择最新的包部署,当前版本是6.4。解压后上传到服务器对应位置,如:/opt/目录下4.5.3. 安装中文包 下载对应版本中文包, 本例子使用sonar-l10n-zh-plugin-1.16版本,将语言包放在/extensions/plugins/下,重启即可。4.5.4. 创建数据库create database sonar character set utf8 collate utf8_general_ci;create user sonar identified by sonar;granta

30、llonsonar .*tosonar ;flushprivileges;4.5.5. 修改配置文件修改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=

31、false 2、端口sonar.web.port=9000 3、设置登录账号密码sonar.web.port=9000 4、配置环境变量 #vi /etc/profile 添加 export SONAR_HOME=/opt/sonarqube-6.4 #source /etc/profile4.5.6. 服务启动停止1、进入sonar bin目录如bin/linux-x86-64,运行如下命令: ./sonar.sh restart 重启服务2、其他常用的命令如下: ./sonar.sh stop停止服务 ./sonar.sh start启动服务 3、设置随机启动。 4.5.7. 测试第一次启

32、动会比较慢,需要初始化数据库数据 admin/admin4.6. 安装SonarQube Scanner4.6.1. 版本说明sonar-scanner-cli-3.0.3.778-linux.zip4.6.2. 下载安装包解压后上传到/opt目录下。4.6.3. 配置scanner见conf目录下sonar-scanner.properties文件。默认是连接本地sonar服务。4.6.4. Jenkins配置Scanner1)系统管理-Global Tool Configuration-SonarQube Scanner4.6.5. 安装sonarQube插件1、 在Jenkins插件管理

33、中添加SonarQube Scanner for Jenkins,点击安装即可。2、 配置sonarQube 1)系统管理-系统设置 分别输入sonarQube的名称、服务器URL、服务器认证令牌(见下面生成令牌方法)。 获取令牌方法登录sonarQube,菜单配置权限用户TOKENSGenerate 生成token,将 生成token添加到此处,完成添加 5. 创建项目5.1. 项目基本情况5.2. 源码管理 在Credentials点击Add,创建SVN连接账号 5.3. 构建触发器触发器说明备注构建一个SNAPSHOT依赖关系构建当job依赖的快照版本被build时,执行本job触发远程

34、构造Build after other projects are built当本job依赖的job被build时,执行本jobBuild periodically隔一段时间build一次,不管版本库代码是否发生变化,通常不会采用此种方式。例如:示例:H 8 * * 1-5星期一到星期五8点定时执行构建。第一个参数代表的是分钟 minute,取值 059;第二个参数代表的是小时 hour,取值 023;第三个参数代表的是天 day,取值 131;第四个参数代表的是月 month,取值 112;最后一个参数代表的是星期 week,取值 07,0 和 7 都是表示星期天。所以 0 * * * * 表

35、示的就是每个小时的第 0 分钟执行一次构建。Poll SCM根据SCM软件的版本号,定时检查源码变更。如果有更新,则checkout最新code,然后执行构建动作。否则,不进行build,通常采用这种方式示例:H/5 * * * *每五分钟去检查一下远程仓库,看代码是否发生变化。5.4. 构建环境配置5.5. 配置sonarQube 1、构建环境配置 2、配置sonar Analysis properties # Root project information#每一个项目key必须不相同sonar.projectKey=console#显示在sonar上的名字sonar.projectName=console#项目的版本sonar.projectVersion=1.0sonar.sourceEncoding=UTF-8sona

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号