




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0 37 自自动动化构建部署化构建部署 安装手册安装手册 2017 年 07 月 1 37 目录 1 编编写目的写目的 4 2 版本要求版本要求 4 3 准准备备工作工作 4 4 安装部署安装部署 4 4 1 安装 JDK 4 4 1 1 版本说明 4 4 1 2 安装步骤 4 4 1 3 环境配置 5 4 1 4 测试JDK 5 4 2 安装MAVEN 5 4 3 安装TOMCAT 6 4 3 1 版本说明 6 4 3 2 安装步骤 6 4 3 3 测试tomcat 6 4 3 4 启动与停止 7 4 3 5 环境配置 7 4 3 6 设置随机启动 8 4 4 安装JENKENS 9 4 4 1 版本说明 9 4 4 2 下载安装包并部署 9 4 4 3 配置jenkins环境变量 9 4 4 4 获取管理员密码 10 4 4 5 配置管理员信息 12 4 4 6 安装插件 12 4 4 7 全局设置 13 4 4 8 系统设置 14 4 4 9 邮箱通知配置 15 4 4 10 用户权限配置 24 4 5 安装SONARQUBE 25 4 5 1 版本说明 25 4 5 2 下载安装包 25 4 5 3 安装中文包 26 4 5 4 创建数据库 26 4 5 5 修改配置文件 26 4 5 6 服务启动停止 26 4 5 7 测试 27 4 6 安装 SONARQUBE SCANNER 27 4 6 1 版本说明 27 4 6 2 下载安装包 27 4 6 3 配置scanner 27 2 37 4 6 4 Jenkins配置Scanner 27 4 6 5 安装sonarQube插件 28 5 创创建建项项目目 30 5 1 项目基本情况 30 5 2 源码管理 30 5 3 构建触发器 31 5 4 构建环境配置 32 5 5 配置SONARQUBE 33 5 6 编译环境配置 35 5 7 指定打包类型 35 5 8 容器远程部署 36 5 9 SSH 远程部署 37 3 37 1 编编写目的写目的 实现项目代码自动化构建 打包 发布 测试 部署 2 版本要求版本要求 软软件件版本版本说说明明 jenkins2 6 2 6 以上版本必须 jdk1 8 及以上 jdk1 8 tomcat8 0 maven3 3 9 sonarQube6 4 SonarQube Scanner3 0 3 centos7 2 3 准准备备工作工作 服务器硬件要求 cpu 4 核心 内存 16g 硬盘 40g centos7 4 安装部署安装部署 4 1 安装安装 JDK 4 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 4 37 3 解压 JDK 在 usr java 多了一个 jdk1 8 0 112 文件夹 tar zxvf jdk 8u112 linux x64 tar gz 4 1 3 环环境配置境配置 vi etc profile 在 profile 底部添加如下内容 jdk 环境变量配置 export JAVA HOME usr java jdk1 8 0 112 export PATH JAVA HOME bin PATH export CLASSPATH 执行如下命令使环境变量配置生效 source etc profile 4 1 4 测试测试 JDK 1 使用 javac 和 java 命令 不会出现 command not found 错误 2 使用 java version 出现版本为 java version 1 8 0 112 3 echo JAVA HOME echo CLASSPATH echo PATH 看看自己的配置是否都正确 至此 jdk 安装配置已经完成 4 2 安装安装 maven 1 下载 maven 部署包 将 maven 上传到 opt 下并解压 2 配置环境变量 vi etc profile 添加如下 export MAVEN HOME opt maven3 5 export PATH MAVEN HOME bin PATH 保存后 执行 source etc profile 3 测试是否成功 5 37 mvn v 或 echo MAVEN HOME 4 配置本地仓库 修改 conf 下面 settting xml 文件 4 3 安装安装 tomcat 4 3 1 版本版本说说明明 apache tomcat 8 5 9 tar gz 4 3 2 安装步安装步骤骤 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 9 tomcat8 4 3 3 测试测试 tomcat 1 启动服务 usr local tomcat8 bin startup sh 2 浏览器访问 http ip 端口 8080 如 http 112 124 126 39 8080 注意 如果访问不成功可能是防止墙没有关闭 1 查看防火墙状态 firewall cmd state 2 关闭防火墙 systemctl stop firewalld 3 禁止开机启动 systemctl disable firewalld 3 查看 tomcat 进程 ps ef grep java ps ef grep tomcat 6 37 4 3 4 启启动动与停止与停止 1 启动服务 usr local tomcat8 bin startup sh 2 停止服务 usr local tomcat8 bin shutdown sh 4 3 5 环环境配置境配置 1 配置 配置 JVM 修改修改 tomcat 下下 bin 目目录录下下 catalina 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 256m 4 3 6 设设置随机启置随机启动动 1 创创建启建启动动用用户户 useradd tomcat 2 添加启 添加启动动脚本脚本 vi etc rc d init d tomcat 添加如下内容并保存 设置启动权限为 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 functions elif f etc rc d init d functions then etc rc d init d functions 7 37 else echo e atomcat unable to locate functions lib Cannot continue exit 1 fi RETVAL CATALINA HOME usr local tomcat8 case 1 in start if f CATALINA HOME bin startup sh then echo Starting Tomcat su c CATALINA HOME bin 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 esac exit RETVAL 注意 只需要修改 CATALINA HOME usr local tomcat8 指 tomcat 安装路径 2 添加 添加权权限限 chmod 755 etc rc d init d tomcat chkconfig add tomcat chkconfig level 2345 tomcat on 3 重启 重启电脑测试电脑测试是否生效是否生效 浏览器访问 http ip 端口 8080 如 http 112 124 126 39 8080 4 4 安装安装 jenkens 4 4 1 版本版本说说明明 Jenkins 2 6 8 37 4 4 2 下下载载安装包并部署安装包并部署 cd usr local tomcat8 webapps wget http mirrors jenkins io war stable latest jenkins war 4 4 3 配置配置 jenkins 环环境境变变量量 设置 jenkins 数据 下载代码 插件等 保存路径 cd opt mkdir jenkins vi etc profile 添加如下内容 JENKINS HOME opt jenkins source etc profile 验证是否配置环境变量成功 echo JENKINS HOME 4 4 4 获获取管理取管理员员密密码码 启动 tomcat 后 访问 http IP 8080 jenkins 按提示 jenkins secrets initialAdminPassword 获取管理员密码 cat jenkins secrets initialAdminPassword 复制密码到提示框点击 9 37 默认安装插件 选择第一个安装 耐心等待 10 37 4 4 5 配置管理配置管理员员信息信息 设置管理员账号密码等信息 点击 点击可以进入 jenkins 进行配置 4 4 6 安装插件安装插件 1 Maven 插件 Maven Integration plugin 2 发布插件 Deploy to container Plugin 支持将代码部署到 tomcat 容器 3 git 插件 Git plugin 11 37 4 svn 插件 Subversion Plug in 和 SVN Publisher plugin 5 发送邮件插件 Email Extension Plugin 4 4 7 全局全局设设置置 系统管理 Global Tool Configuration 配置 JDK Maven git 1 配置 maven 2 配置 jdk 配置项目编译时需要的 jdk 版本 注意 目前我们项目都 jdk1 7 编译的 因此需要在系统安装一个 jdk1 7 官网下载一个 tar 包解压即可 不用配置环境变量 3 配置 maven 12 37 4 4 8 系系统设统设置置 Xms256m Xmx512m Dfile encoding UTF 8 注意 具体参数根据注意 具体参数根据环环境配置境配置 4 4 9 邮邮箱通知配置箱通知配置 jenkins 内置的邮件功能 使用 email ext 插件扩展的邮件功能 1 系 系统统管理 系管理 系统设统设置 先置 先设设置置发发件人的件人的邮邮件件 13 37 在 Jenkins Location 设置系统管理员地址 必须设置 2 系 系统统管理 系管理 系统设统设置 再置 再设设置全局置全局设设置 置 在 邮件通知 部分配置发送邮件的用户名 密码 注意这里的密码使用的是 163 邮箱设置 的 客户端授权码 不是登陆密码 建议不用 QQ 邮箱 会容易导致发送失败 3 勾选 通过发送测试邮件测试配置 填入测试收件人 点击 Test Configuration 4 到 qq 邮箱里 check 新邮件 5 email ext 插件配置 Jenkins 默认提供了一个邮件通知 能在构建失败 构建不稳定等状态后发送邮件 但是 14 37 它本身有很多局限性 比如它的邮件通知无法提供详细的邮件内容 无法定义发送邮件的格式 无法定义灵活的邮件接收配置等等 在这样的情况下 我们找到了 Jenkins Email Extension Plugin 该插件能允许你自定义邮件通知的方方面面 比如在发送邮件时你可以自定义发送给 谁 发送具体什么内容等等 email ext 插件可根据构建的结果 发送构建报告 给当前的 committer 用 git 做代码管理 1 该插件支持 jenkins 1 5 以上的版本 插件的安装此处略 若您可选插件的页卡的列 表是空的 先去高级页面检查更新下 2 插件用于 job 配置页面 添加构建后步骤 Editable Email Notification 1 系统管理 系统设置 先设置全局 15 37 详细参数说明如下 1 Override Global Settings 如果不选 该插件将使用默认的 E mail Notification 通知选项 反之 您可以通过指定不同于 默认选项 的设置来进行覆盖 2 Default Content Type 指定构建后发送邮件内容的类型 有 Text 和 HTML 两种 3 Use List ID Email Header 为所有的邮件设置一个 List ID 的邮件信头 这样你就可以在 邮件客户端使用过滤 它也能阻止邮件发件人大部分的自动回复 诸如离开办公室 休假等等 你可以使用你习惯的任何名称或者 ID 号 但是他们必须符合如下其中一种格式 真实的 ID 必 须要包含在标记里 Build Notifications Build Notifications 4 Add Precedence bulk Email Header 设置优先级 5 Default Recipients 自定义默认电子邮件收件人列表 如果没有被项目配置覆盖 该插件 会使用这个列表 您可以在项目配置使用 DEFAULT RECIPIENTS 参数包括此默认列表 以 及添加新的地址在项目级别 添加抄送 cc 电子邮件地址例如 CC someone 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 16 37 configuration 7 Emergency reroute 如果这个字段不为空 所有的电子邮件将被单独发送到该地址 或地 址列表 8 Excluded Committers 防止邮件被邮件系统认为是垃圾邮件 邮件列表应该没有扩展的账 户名 如 并且使用逗号分隔 9 Default Subject 自定义邮件通知的默认主题名称 该选项能在邮件的主题字段中替换一 些参数 这样你就可以在构建中包含指定的输出信息 10 Maximum Attachment Size 邮件最大附件大小 11 Default Content 自定义邮件通知的默认内容主体 该选项能在邮件的内容中替换一些 参数 这样你就可以在构建中包含指定的输出信息 12 Default Pre send Script 默认发送前执行的脚本 注 grooy 脚本 这是我在某篇文章上看 到的 不一定准确 13 Enable Debug Mode 启用插件的调试模式 这将增加额外的日志输出 构建日志以及 Jenkins 的日志 在调试时是有用的 但不能用于生产 14 Enable Security 启用时 会禁用发送脚本的能力 直接进入 Jenkins 实例 如果用户试 图访问 Jenkins 管理对象实例 将抛出一个安全异常 15 Content Token Reference 邮件中可以使用的变量 所有的变量都是可选的 2 项目配置 1 要想在一个项目中使用 email ext 插件 你首先必须在项目配置页激活它 在构建后操作 Add Post build Actions 选项中勾选 Editable Email Notification 标签 如下图 17 37 项目基本配置参数说明 当插件激活后你就能编辑如下字段 只列出常用的字段 Project Recipient List 这是一个以逗号 或者空格 分隔的收件人邮件的邮箱地址列表 允 许您为每封邮件指定单独的列表 Ps 如果你想在默认收件人的基础上添加收件人 DEFAULT RECIPIENTS Default Subject 允许你配置此项目邮件的主题 Default Content 跟 Default Subject 的作用一样 但是是替换邮件内容 Attach Build Log 附件构建日志 Compress Build Log before sending 发送前压缩生成日志 zip 格式 2 点击高级 设置触发器 注意 所有的触发器都只能配置一次 18 37 触发器参数说明 Failure 即时发送构建失败的邮件 如果 Still Failing 触发器已配置 而上一次构建的状态 是 Failure 那么 Still Failing 触发器将发送一封邮件来替代 它 Unstable 即时发送构建不稳固的邮件 如果 Still Unstable 触发器已配置 而上一次构建 的状态是 Unstable 那么 Still Unstable 触发器将发送一封邮件来替代 它 Still Failing 如果两次或两次以上连续构建的状态为 Failure 发送该邮件 Success 如果构建的状态为 Successful 发送邮件 如果 Fixed 已配置 而上次构建的状态 为 Failure 或 Unstable 那么 Fixed 触发器将发送一封邮件来替代 它 Fixed 当构建状态从 Failure 或 Unstable 变为 Successful 时发送邮件 19 37 Still Unstable 如果两次或两次以上连续构建的状态为 Unstable 发送该邮件 Before Build 当构建开始时发送邮件 对于内容 你也许注意到了 这里调用了个 html jelly 的模板 这是插件内置的 直接用 即可 当然也可以自己写 jelly 文件 确保放置 jenkins home email template 下 以供 jenkins 调 用 ENV var JOB NAME 第 BUILD NUMBER 次构建日志 本邮件是程序自动下发的 请勿回复 构建结果 BUILD STATUS 构建信息 项目名称 PROJECT NAME 构建编号 第 BUILD NUMBER 次构建 SVN版本 SVN REVISION 触发原因 CAUSE 构建日志 BUILD URL console 构建Url BUILD URL 20 37 工作目录 PROJECT URL ws 项目Url PROJECT URL Changes Since Last Successful Build 历史变更记录 PROJECT URL changes 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 Logs if test has ran PROJECT URL ws TestResult archive logs Log Build BUILD NUMBER zip BUILD LOG maxLines 100 21 37 4 4 10 用用户权户权限配置限配置 1 安装用户管理插件 Role based Authorization Strategy 2 配置用户登录才可以操作 系统管理 Configure Global Security 2 项目矩阵授权策略 22 37 4 5 安装安装sonarQube 4 5 1 版本版本说说明明 当前最新版本 6 4 4 5 2 下下载载安装包安装包 https www sonarqube org downloads 选择最新的包部署 当前版本是 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 grant all on sonar to sonar flush privileges 4 5 5 修改配置文件修改配置文件 修改 config 下 sonar conf 文件 数据库连接信息 https 设置等 1 数据库连接 mysql sonar jdbc username sonar sonar jdbc password sonar sonar 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 23 37 4 配置环境变量 vi etc profile 添加 export SONAR HOME opt sonarqube 6 4 source etc profile 4 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 admin 4 6 安装安装 SonarQube Scanner 4 6 1 版本版本说说明明 sonar scanner cli 3 0 3 778 linux zip 4 6 2 下下载载安装包安装包 linux zip 解压后上传到 opt 目录下 4 6 3 配置配置 scanner 见 conf 目录下 sonar scanner properties 文件 默认是连接本地 sonar 服务 24 37 4 6 4 Jenkins 配置配置 Scanner 1 系统管理 Global Tool Configuration SonarQube Scanner 4 6 5 安装安装 sonarQube 插件插件 1 在 Jenkins 插件管理中添加 SonarQube Scanner for Jenkins 点击安装即可 2 配置 sonarQube 1 系统管理 系统设置 分别输入 sonarQube 的名称 服务器 URL 服务器认证令牌 见下面生成令牌方法 25 37 获获取令牌方法取令牌方法 登录 sonarQube 菜单 配置 权限 用户 TOKENS Generate 生成 token 将 生成 token 添加到此处 完成添加 26 37 5 创创建建项项目目 5 1 项项目基本情况目基本情况 5 2 源源码码管理管理 在 Credentials 点击 Add 创建 SVN 连接账号 27 37 5 3 构建触构建触发发器器 触触发发器器说说明明备备注注 构建一个 SNAPSHOT 依赖 关系构建 当 job 依赖的快照版本被 build 时 执行 本 job 触发远程构造 Build after other projects are built 当本 job 依赖的 job 被 build 时 执行本 job Build periodically隔一段时间 build 一次 不管版本库代码 是否发生变化 通常不会采用此种方式 例如 示例 H 8 1 5 星期一到星期五 8 点定时执 行构建 第一个参数代表的是分钟 minute 取值 0 59 第二个参数代表的是小时 hour 取值 0 23 第三个参数代表的是天 day 取值 1 31 第四个参数代表的是月 month 取值 1 12 最后一个参数代表的是星期 week 取值 0 7 0 和 7 都 28 37 是表示星期天 所以 0 表示的就是每 个小时的第 0 分钟执行一次 构建 Poll SCM根据 SCM 软件的版本号 定时检查源码 变更 如果有更新 则 checkout 最新 code 然后执行构建动作 否则 不进行 build 通常采用这种方式 示例 H 5 每五分钟去检查一下远程仓 库 看代码是否发生变化 5 4 构建构建环环境配置境配置 29 37 5 5 配置配置 sonarQube 1 构建环境配置 2 配置 sonar 30 37 Analysis properties Root project information 每一个项目 key 必须不相同 sonar projectKey console 显示在 sonar 上的名字 sonar projectName console 项目的版本 sonar projectVersion 1 0 sonar sourceEncoding UTF 8 sonar language java Some properties that will be inherited by the modules sonar sources src sonar sources Default directory layout sonar java source 1 8 31 37
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF(石化)059-2023环氧乙烷气体检测报警器校准规范
- 2025新版部编人教版小学三年级数学上册全册教案
- 重庆直播红娘培训课件
- 暑假新课专项重点预习练:解答题(含解析)-2024-2025学年人教版一年级数学下学期
- 人教版八年级英语上册Unit7达标测试卷(含答案)
- 新解读《GB-T 5671-2014汽车通 用锂基润滑脂》
- 人教版Unit 3 Same or Different Section B -2025年新八年级英语暑期提升讲义(含答案)
- 重大手术知识培训课件
- 高空作业车、汽车起重机风险识别与安全使用管控要点
- 老年人讲文明课件
- 2025年国家统一司法考试真题及答案
- 绿色矿山培训课件
- 2025四川宜宾五粮液集团旗下环球集团招聘75人笔试参考题库附答案解析
- 纪念抗美援朝队会课件
- 2025广东茂名市信宜市供销合作联社招聘基层供销社负责人2人笔试模拟试题及答案解析
- 医院护理人文关怀实践规范专家共识
- 成人反流误吸高危人群全身麻醉管理专家共识(2025版)解读
- 初二体育课程教学计划及实施
- 2025年山东省临沂市、枣庄市、聊城市、菏泽市、济宁市中考语文试题解读
- 浙江省金华市婺城区2024-2025学年七年级上学期语文期中考试试卷(含答案)
- 2025年10月自考00227公司法真题及答案
评论
0/150
提交评论