收藏 分销(赏)

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

上传人:精*** 文档编号:2505493 上传时间:2024-05-30 格式:DOC 页数:41 大小:1.83MB
下载 相关 举报
自动化构建部署安装手册培训资料模板.doc_第1页
第1页 / 共41页
自动化构建部署安装手册培训资料模板.doc_第2页
第2页 / 共41页
自动化构建部署安装手册培训资料模板.doc_第3页
第3页 / 共41页
自动化构建部署安装手册培训资料模板.doc_第4页
第4页 / 共41页
自动化构建部署安装手册培训资料模板.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、 自动化构建布署安装手册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.4. 获取管理员密码104.4.5

2、. 配置管理员信息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配置Scanner274.6.5. 安装

3、sonarQube插件285. 创建项目305.1. 项目基础情况305.2. 源码管理305.3. 构建触发器315.4. 构建环境配置325.5. 配置sonarQube335.6. 编译环境配置355.7. 指定打包类型355.8. 容器远程布署365.9. SSH远程布署371. 编写目标 实现项目代码自动化构建、打包、公布、测试、布署。2. 版本要求 软件版本说明jenkins2.62.6以上版本必需jdk1.8及以上jdk1.8tomcat8.0maven3.3.9sonarQube6.4SonarQube Scanner3.0.3centos7.23. 准备工作 服务器硬件要求:

4、 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-x64.tar.gz4.1.3. 环境配置 #vi /etc/pr

5、ofile 在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 $JAVA_HOME, echo $CLASSPATH, ech

6、o $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文件 4.3. 安装tomcat4.3.1. 版本说明apache-

7、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/,如::8080/ 注意:假如访问不成功可能是预防墙没相关闭。 查看防火墙状态 #firewal

8、l-cmd -state 关闭防火墙 #systemctl stop firewalld 严禁开机开启 #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.bat文件 1、linux配置,第二行添加。注意:具体参数依

9、据环境配置,示例内存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 添加以下内容并保留,设置开启权限为tomcat。#!/bin/bash# st

10、arguo 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/functionselif -f /etc/rc.d/init.d/func

11、tions ; 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/startup.sh tomcat fi ;stop) if

12、-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 #chkconfig -add tomcat #chkconfig-level2

13、345tomcaton3、重启电脑测试是否生效 浏览器访问:8080/,如::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/profile 验证是否配置环境变量成功 #echo $JEN

14、KINS_HOME4.4.4. 获取管理员密码 开启tomcat后,访问http:/IP:8080/jenkins 按提醒/jenkins/secrets/initialAdminPassword获取管理员密码 #cat /jenkins/secrets/initialAdminPassword 复制密码到提醒框点击 默认安装插件 选择第一个安装,耐心等候。 4.4.5. 配置管理员信息 设置管理员账号密码等信息,点击 点击能够进入jenkins进行配置。4.4.6. 安装插件 1、Maven插件Maven Integration plugin 2、公布插件Deploy to containe

15、r 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.4.8. 系统设

16、置 -Xms256m -Xmx512m -Dfile.encoding=UTF-8(注意:具体参数依据环境配置) 4.4.9. 邮箱通知配置jenkins 内置邮件功效使用email-ext插件扩展邮件功效1、系统管理系统设置,先设置发件人邮件 在JenkinsLocation设置系统管理员地址(必需设置)2、系统管理系统设置,再设置全局设置: 在邮件通知部分配置发送邮件用户名、密码(注意这里密码使用是163邮箱设置用户端授权码,不是登陆密码,提议不用QQ邮箱,会轻易造成发送失败) 3、勾选经过发送测试邮件测试配置,填入测试收件人,点击TestConfiguration4、 到qq邮箱里che

17、ck新邮件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参数包含此默认列表,和添加新地址在项目等级。添加抄送:cc:电子邮件地址比如,CC

20、:6. 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. Enable Debug Mode:启用插件调试模式。这将增加额外日志输出,构建日

22、志和Jenkins日志。在调试时是有用,但不能用于生产。14. Enable Security:启用时,会禁用发送脚本能力,直接进入Jenkins实例。假如用户试图访问Jenkins管理对象实例,将抛出一个安全异常。15. Content Token Reference:邮件中能够使用变量,全部变量全部是可选。2、项目配置1)要想在一个项目中使用email-ext插件,你首先必需在项目配置页激活它。在构建后操作”AddPost-buildActions”选项中勾选”EditableEmailNotification”标签。以下图:项目基础配置参数说明:当插件激活后你就能编辑以下字段(只列出常见

23、字段): Project Recipient List:这是一个以逗号(或空格)分隔收件人邮件邮箱地址列表。许可您为每封邮件指定单独列表。Ps:假如你想在默认收件人基础上添加收件人:$DEFAULT_RECIPIENTS, Default Subject:许可你配置此项目邮件专题。 Default Content:跟Default Subject作用一样,不过是替换邮件内容。 Attach Build Log:附件构建日志。 Compress Build Log before sending:发送前压缩生成日志(zip格式)。2)点击高级,设置触发器:(注意:全部触发器全部只能配置一次)触发器

24、参数说明:Failure:即时发送构建失败邮件。假如”Still Failing”触发器已配置,而上一次构建状态是”Failure”,那么”Still Failing”触发器将发送一封邮件来替换(它)。Unstable:即时发送构建不稳固邮件。假如”Still Unstable”触发器已配置,而上一次构建状态是”Unstable”,那么”Still Unstable”触发器将发送一封邮件来替换(它)。Still Failing:假如两次或两次以上连续构建状态为”Failure”,发送该邮件。Success:假如构建状态为”Successful”发送邮件。假如”Fixed”已配置,而上次构建状态

25、为“Failure”或“Unstable”,那么”Fixed”触发器将发送一封邮件来替换(它)。Fixed:当构建状态从“Failure”或“Unstable”变为”Successful”时发送邮件。Still Unstable:假如两次或两次以上连续构建状态为” Unstable “,发送该邮件。Before Build:当构建开始时发送邮件。对于内容,你可能注意到了 这里调用了个 html.jelly 模板,这是插件内置,直接用即可。当然也能够自己写 jelly文件, 确保放置 jenkins/home/email-template下 以供jenkins调用。 $ENV, var=JOB_

26、NAME-第$BUILD_NUMBER次构建日志 (本邮件是程序自动下发,请勿回复!) 构建结果 - $BUILD_STATUS 构建信息 项目名称 : $PROJECT_NAME 构建编号 : 第$BUILD_NUMBER次构建 SVN 版本: $SVN_REVISION 触发原因: $CAUSE 构建日志: $BUILD_URLconsole 构建  Url : $BUILD_URL 工作目录 : $PROJECT_URLws 项目 &nbs

27、p;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=    %p Failed Test Results $FAILED_TESTS 构建日志 (最终 100行): !- Test

28、 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. 安装sonarQube4.5.1. 版本说明 目前最新版本6.44.5.2. 下载安装包 ,目前版本是6.4。解压后上传到服

29、务器对应位置,如:/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;grantallonsonar .*tosonar ;flushprivileges;4.5.5. 修改配置文件修改config下sonar.conf文件,

30、数据库连接信息、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=false 2、端口sonar.web.port=9000 3、设置登录账号密码sonar.web.port=9000 4、配置环境变量 #vi

31、 /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. 测试第一次开启会比较慢,需要初始化数据库数据http:/IP:9000 admin/admin4.6. 安装SonarQube Scanner4.6.1. 版

32、本说明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插件管理中添加SonarQube Scanner for Jenkins,点击安装即可。2、 配置sonarQube 1)系统管

33、理-系统设置 分别输入sonarQube名称、服务器URL、服务器认证令牌(见下面生成令牌方法)。 获取令牌方法登录sonarQube,菜单配置权限用户TOKENSGenerate 生成token,将 生成token添加到此处,完成添加 5. 创建项目5.1. 项目基础情况5.2. 源码管理 在Credentials点击Add,创建SVN连接账号 5.3. 构建触发器触发器说明备注构建一个SNAPSHOT依靠关系构建当job依靠快照版本被build时,实施本job触发远程结构Build after other projects are built当本job依靠job被build时,实施本job

34、Build periodically隔一段时间build一次,不管版本库代码是否发生改变,通常不会采取此种方法。比如:示例:H 8 * * 1-5星期一到星期五8点定时实施构建。第一个参数代表是分钟 minute,取值 059;第二个参数代表是小时 hour,取值 023;第三个参数代表是天 day,取值 131;第四个参数代表是月 month,取值 112;最终一个参数代表是星期 week,取值 07,0 和 7 全部是表示星期天。所以 0 * * * * 表示就是每个小时第 0 分钟实施一次构建。Poll SCM依据SCM软件版本号,定时检验源码变更。假如有更新,则checkout最新co

35、de,然后实施构建动作。不然,不进行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-8sonar.language=java# Some properties that will be inherited by the modules#sonar.sources=srcsonar.sources=.#- Default directory layoutsonar.java.source=1.8sonar.java.target=1.

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 职业教育

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服