### Jenkins + Maven + SVN + SSH持续集成 #### 知识点概述 本文旨在介绍如何利用Jenkins、Maven、SVN以及SSH等工具构建一套完整的持续集成环境。通过这一过程,可以实现自动化构建、测试及部署,从而提高开发效率和软件质量。 #### 准备工作 1. **Jenkins服务器配置** - 创建一个专门用于操作Jenkins的账号`appadmin`。 - 使用`appadmin`账号登录服务器,并通过`ssh-keygen -trsa`命令生成一对密钥。 - `id_rsa`: 私钥文件。 - `id_rsa.pub`: 公钥文件。 2. **应用服务器配置** - 在应用服务器上创建与Jenkins服务器相同的`appadmin`账号。 - 设置Jenkins服务器可以免密码登录应用服务器。 - 在`appadmin`用户的Home目录下创建`.ssh`子目录,并创建`authorized_keys`文件。 - 将Jenkins服务器的公钥内容复制到应用服务器的`appadmin/.ssh/authorized_keys`文件中,以实现免密码登录。 - 修改`/etc/ssh/sshd_config`文件,确保`PubkeyAuthentication yes`及`AuthorizedKeysFile %h/.ssh/authorized_keys`配置项已启用。 - 设置`.ssh`文件夹及其子文件的权限。 - 重启SSH服务。 3. **Jenkins配置** - 安装必要的插件: - Publish over SSH - SVN - Maven - 配置全局工具设置: - JDK: 指定Jenkins服务器上的JDK安装路径。 - Maven: 指定Jenkins服务器上的Maven安装路径。 - 创建一个新的Job,配置Maven项目: - General: 基本设置。 - 源码管理: 配置SVN仓库地址。 - 构建触发器: 可以设置自动或手动触发构建。 - 构建环境: 配置Maven环境。 - 构建步骤: 执行Maven目标。 - Post-build Actions: 配置发布到SSH服务器的动作。 - 测试构建过程。 #### 详细步骤 **Jenkins服务器端准备** 1. **创建专用账号** - 通过`root`账号,在Jenkins服务器上新增一个名为`appadmin`的账号,专门用于操作Jenkins。 - 登录至`appadmin`账号下,执行`ssh-keygen -trsa`生成一对密钥。 2. **配置免密码登录** - 将生成的公钥内容复制到应用服务器的`appadmin/.ssh/authorized_keys`文件中。 - 修改`/etc/ssh/sshd_config`文件,确保以下配置项为`yes`状态: - `PubkeyAuthentication yes` - `AuthorizedKeysFile %h/.ssh/authorized_keys` - 设置SSH相关的文件权限: ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ``` - 根据不同的操作系统,重启SSH服务: - RHEL/CentOS: `service sshd restart` - Ubuntu: `service ssh restart` - Debian: `/etc/init.d/ssh restart` **Jenkins配置** 1. **安装插件** - 在Jenkins管理界面中安装`Publish over SSH`、`SVN`及`Maven`插件。 2. **全局工具配置** - **Maven项目配置** - 在`Global Tool Configuration`中配置JDK和Maven的安装路径。 - JDK: 指定Jenkins服务器上的JDK安装路径。 - Maven: 指定Jenkins服务器上的Maven安装路径。 3. **创建Job** - 新建一个Maven项目。 - 在`General`设置中进行基本配置。 - 在`源码管理`中配置SVN仓库地址。 - 在`构建触发器`中设置构建触发条件。 - 在`构建环境`中配置Maven环境。 - 在`构建步骤`中执行Maven目标。 - 在`Post-build Actions`中配置发布到SSH服务器的动作。 - 指定`Source files`目录为`/home/appadmin/.jenkins/workspace/phone_location_search`。 - 设置目标服务器地址、用户名和密码。 - 配置远程目录。 - 最后保存配置。 **远程部署** 1. **构建项目** - 在Jenkins首页的Jobs列表中选择创建好的Job,点击“立即构建”按钮。 - 查看构建日志,确保构建过程没有错误。 2. **构建日志示例** - 日志显示了构建过程中的各个阶段,包括清理本地目录、从SVN下载代码、执行Maven目标等。 - 成功构建后,可以通过SSH将构建结果部署到应用服务器上。 通过以上步骤,我们可以构建一个基于Jenkins、Maven、SVN和SSH的持续集成环境。这不仅提高了开发团队的工作效率,也保证了代码的质量和稳定性。此外,还可以根据实际需求进一步优化配置,比如设置自动构建规则、增加单元测试等,以更好地支持敏捷开发流程。
剩余17页未读,继续阅读
- liaooail2018-03-21有参考价值,谢谢
- 从菜鸟开始2017-03-14谢谢分享,还可以
- 粉丝: 24
- 资源: 47
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot和Vue的后台管理系统.zip
- 用于将 Power BI 嵌入到您的应用中的 JavaScript 库 查看文档网站和 Wiki 了解更多信息 .zip
- (源码)基于Arduino、Python和Web技术的太阳能监控数据管理系统.zip
- (源码)基于Arduino的CAN总线传感器与执行器通信系统.zip
- (源码)基于C++的智能电力系统通信协议实现.zip
- 用于 Java 的 JSON-RPC.zip
- 用 JavaScript 重新实现计算机科学.zip
- (源码)基于PythonOpenCVYOLOv5DeepSort的猕猴桃自动计数系统.zip
- 用 JavaScript 编写的贪吃蛇游戏 .zip
- (源码)基于ASP.NET Core的美术课程管理系统.zip