




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、使用 Jenkins 实现 Spring Cloud 自动化部署 Jenkins 简介Jenkins 是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作。简单点来讲就是配置好 Jenkins 以后可以一键发布项目,包括从 git master 分支拉取最新的代码,然后打包,然后上传到远程 Linux 服务器发布等一系列步骤它都可以帮你一键完成。这无疑可以省去很多重复性的操作。特别是对于现在的 spring cloud 微服务来说,一个项目由多个小项目组成,每个小项目都独立部署,使用 jenkins 是最好的部署和管理工具了。 安装 Jenkins.安装 JDK安装
2、Git (公钥要配置好,保证本地和远程库可以正常 push 代码) 安装 Maven 安装完 maven 在/etc/profile 中配置环境变量。安装 Jenkins https:/jenkins.io/ 官网下载 war 包,使用命令 java -jar jenkins.war 运行。Jenkins 默认访问 8080 端口(注意本地机器配置)如果端口 8080 已经被占用,要修改配置文件来改变端口。sudo vi /etc/default/jenkins找到 HTTP_PORT=8080,把 8080 改为 8000,然后sudo service jenkins restart 初始化
3、配置 Jenkins1. 在 Jenkins 启动后访问 http:/localhost:8080 进入 Jenkins 主页。登录。2. 在以上第二步使用 java jar jenkins.war 运行后,console 会输出一段密钥将它粘贴到主页输入框,或者去它指定的地址去复制。3.进入选择插件安装界面,选择第一个(Install suggested plugins)4.插件安装完成之后,需要创建第一个用户5.创建用户之后,就可以使用 jenkins 了 使用 Jenkins1.将你的 maven 工程使用 git 上传到你的 Git(Git Lab 或者 GitHub)2.进入 Jen
4、kins 主页3.安装 Maven 插件4. 以同样的方式安装 git plugin 插件(用于从 git 拉取最新的代码)和publish over ssh 插件(用于上传打包好的项目到远程 Linux)。进入系统管理-管理插件-可选插件,在搜索框里面输入 git plugin 和 publish over ssh,然后点击安装即可。安装好以后可以在“已安装”选项里面看看是否安装成功。5. 配 置 Maven 和 JDK 和 Git6. 选择你本地安装好的 maven jdk 路径(git 直接 yum install git)安装后 whereis git 查看 git 可执行文件路径,填
5、入 Path to Git executable7. 安装完成后返回主页,创建一个新的 jenkins 任务8 .如果你的 maven 插件安装没有问题,在新建任务时会有 Maven Project 选项,起名创建。9. 开始配置 Jenkins 任务 General 基本设置General 注意到丢弃旧的构建 Disable this project,jenkins 默认情况下会保存每次的构建结果,时间久了可想而知硬盘容易塞满,在实际使用的过程中发现确实很占硬盘,使用这个功能可以删除历史构建保持 jenkins 工作目录的轻便。 Source Code Managerment 源码管理工具使
6、用 git,添加地址、用户名,设置使用分支,git 验证也可以使用ssh key 的方式,点击 add 添加 git 账号。在 Kind 下拉菜单可以选择认证方式,一般使用用户名或者密钥配置。 Build Triggers 构建触发器顾名思义就是如何触发构建操作,在这可以设置自动定时执行,还可以远程触发构建,远程机器通过访问 url http:/jenkins 服务器 IP:8080/job/项目名称/build?token=TOKEN_NAME 来触发构建。把这一个 url 提供给其它工程师后,他们就可以发测试包了。Builde Environment 构建环境Pre Steps构建环境和
7、preSteps 主要是触发构建之前的一些操作,删除workspace,执行远程命令等等。在构建前做了两件事,清空启动日志,备份原有 jar 包,install 依赖的包 Build 构建这块就是打包的配置了,配置构建项目的 pom 所在路径,在 Goals and options 上设置了 clean package -Dmaven.test.skip=true 跳过测试步骤。注意,如果这里写相对路径,应该是相对于 JENKINS_HOME/workspace/构建名/ 的路径,这里用到的 jenkins 版本是 2.141,默认主目录路径是/var/lib/jenkins Post Ste
8、ps 打包后配置1)先保存上述配置,打开 jenkins 首页,点击“系统管理”-“系统设置”,下拉找到找到 publish over ssh,进行以下设置(请确保)面的步骤中publish over ssh 插件已经安装成功,如果没有发现,那就是还没有安装成功,请返回去安装)。2)这里的 ip 设置为目标部署服务器的 ip.这里 Passphrase 为 jenkins,或者导入 jenkins 私钥到 key服务器以下是的配置3)进入上面的已经创建好的 jenkinsWeb 项目,点击配置,下拉找到 PostSteps 进行配置。这块是重中之重,是紧跟在打包之后的操作,使用 linux s
9、hell 编写操作。Shell 脚本需要自行编写。参数说明:Transfer SetSource files:表示要上传的本地的 jar 包及路径,可到工作空间去看。Remove prefix:表示要上传时要去除的文件夹,即只上传 jar 包。remote driectory:即表示执行时的路径,相当于把 jar 包上传到这里了。exec commad:要执行的命令脚本。一下是的启动脚本内容,仅做参考: Build Settings 构建设置可配置被邮箱,服务器邮箱需要服务器搭建 smtp 服务,然后在jenkins 首页-“系统管理”-“系统设置”去配置发件邮箱 Post-build Act
10、ion 构建后的设置这个按需求自行配置10. 以上配置完成后,可以开始构建你的项目点击 Console output 查看日志输出至此,使用 Jenkins 完成自动化部署配置完成。总结部署过程遇到的问题:1、所构建项目的 pomx.xml 路径问?配置时候提示-没有这个文件.pom.xml 创建一个 jenkins 构建项目时,会在 jenkins 主目录下的 workspace 路径下创建与构建名同名的文件夹,git 插件会将项目拉去到该文件夹下,因此 pom文件的路径应该是相对于该路径.2、启动过程中,执行脚本保存,console 输出没有文件执行权限jenkins 安装后,会在服务器中
11、新增一个 jenkins 用户,jenkins 的构建操作都是以该用户以及用户组去操作的,因此如果该用户没有操作文件的权限就汇报没有权限错误。修改方法:1,为该用户添加权限。2,将用户修改为 root 而不是用 jenkins 用户这里只针对 2 方法说明:vim /etc/sysconfig/jenkins修改$JENKINS_USER=rootjenkins 主目录而不使用默认#Tips:同样,该配置文件可以指定修改 Jenkins 相关文件夹用户权限chown -R root:root /var/lib/jenkinschown -R root:root /var/cache/jenki
12、nschown -R root:root /var/log/jenkins重启 Jenkins 服务并检查运行 Jenkins 的用户是否已经切换为 rootservice jenkins restart# 查看 Jenkins 进程所属用户ps -ef | grep jenkins# 若显示为 root 用户,则表示修改完成.3、脚本执行成功,但是远程服务并没有启动,查看服务启动日志显示:nohup: failed to run command java: No such file or directory这是因为远程服务执行脚本需要配置 jdk 环境变量,脚本中添加环境变量export JAVA_HOME=/home/sinorail/jdk1.8.0_121export PATH=$JAVA_HOME/bin:$PATH4、启动打包报错 Failure to find xxxx.jar/maven2 was cached in the local repository如果你的项目依赖于其他工程,当然你在 mvn package 当前工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 猪精深加工项目建设工程方案
- 精密导体新材料产业园项目施工方案
- 2025年全国保育员技能证书理论考试题库(含答案)
- 建筑施工高处作业安全操作交底
- 找规律数学课课堂笔记分享
- 城市绿地规划设计合同范本
- 四年级数学负数教学设计与反思
- 支气管哮喘临床防治全攻略
- 2025年注册咨询工程师(投资)考试投资项目管理专项训练试卷:强化项目管理
- 小学语文全册教案与教学资源
- 做有梦想的少年+课件-2025-2026学年统编版道德与法治七年级上册
- 财务内账表格大全-出纳实 用模板
- 糖尿病护理操作规范手册(2023修订)
- 中小学古诗词竞赛题库合集
- 《犟龟》课件 统编版语文三年级上册
- 2025年陕西音乐联考试题及答案
- 2025年秋招:招商银行笔试真题及答案
- 吞咽功能障碍健康指导
- 2025至2030拖拉机市场前景分析及行业深度研究及发展前景投资评估分析
- 中外运社招在线测评题
- 无损检测技术人员岗位面试问题及答案
评论
0/150
提交评论