Jenkins持续集成部署

本文介绍了基于Java开发的持续集成工具Jenkins,它能一键完成项目发布等一系列操作,尤其适用于spring cloud微服务。详细说明了Jenkins的安装步骤,包括安装jdk、maven等,还阐述了初始化配置过程,最后提及部署中遇到问题的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍 Jenkins 持续集成部署

Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作。简单点来讲就是配置好Jenkins以后可以一键发布项目,包括从svn上拉取最新的代码,然后打包,然后在Linux服务器上或者上传到远程Linux服务器发布等一系列步骤它都可以帮你一键完成。这无疑可以省去很多重复性繁琐的操作。特别是对于现在的spring cloud微服务来说,一个项目由多个小项目组成,每个小项目都独立部署,使用jenkins是最好的部署和管理工具了。 

 安装Jenkins

1.安装jdk,首先服务器上得有jdk的环境变量。

2.安装maven

命令:wget http://apache.fayea.com/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz 即可下载maven

解压文件:tar –zxvf apache-maven-3.3.9-bin.tar.gz

3. 安装完maven后在/etc/profile中配置maven的环境变量。

4. 安装Jenkins  https://jenkins.io/ 官网下载war包,并将其放到tomcat的webapp下。    

初始化配置Jenkins

1.在Jenkins启动后访问http://localhost:8080/jenkins进入Jenkins主页 

2.进入选择插件安装界面,选择第一个(Install suggested plugins) 

 

 3.插件安装完成之后,需要创建第一个用户

4.创建用户之后,就可以使用jenkins了

5.使用jenkins进入jenkins主页

6.安装Maven插件

7.选择你本地安装好的maven  jdk 路径 

8.安装完成后,返回主页创建新的Jenkins项目

9.如果你的maven插件没有问题,在创建新的Jenkins项目时会有 Maven Project选项,创建名字。

10.开始配置Jenkins任务

① General基本设置

General注意到丢弃旧的构建Disable this project,jenkins默认情况下会保存每次的构建结果,时间久了可想而知硬盘容易塞满,我在实际使用的过程中发现确实很占硬盘,使用这个功能可以删除历史构建保持jenkins工作目录的轻便。

②源码管理工具

使用svn添加地址用户名密码。

③构建触发器

顾名思义就是如何触发构建操作,在这可以设置自动定时执行、轮询构建或者手动构建。

④构建环境

⑤Pre Steps

 构建环境和preSteps主要是触发构建之前的一些操作,删除workspace,执行远程命令等等。我在构建前备份原有jar包

构建成功后操作,执行shell脚本。

项目构建完成,Jenkins任务构建的历史记录:

部署jenkins出现的问题:

解决首次访问jenkins,输入默认密码之后,一直卡住的问题

修改hudson.model.UpdateCenter.xml文件中url

默认:<?xml version='1.0' encoding='UTF-8'?>

 <sites>

   <site>

    <id>default</id>

    <url>http://updates.jenkins-ci.org/update-center.json</url>

   </site>

</sites

将url改为:http://mirror.xmission.com/jenkins/updates/update-center.json

Jenkins 是一个功能强大的开源自动化服务器,广泛用于实现持续集成(CI)和持续交付/部署(CD)。以下是 Jenkins 持续集成与项目部署的配置指南,涵盖基础到进阶步骤。 ### 3.1 安装 Jenkins 首先,确保系统已安装 Java 环境(JDK 8 或更高版本)。然后通过以下方式之一安装 Jenkins: - **使用 apt-get 安装(适用于 Ubuntu/Debian)**: ```bash curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \ /usr/share/keyrings/jenkins-keyring.asc > /dev/null echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \ https://pkg.jenkins.io/debian-stable binary/ | sudo tee \ /etc/apt/sources.list.d/jenkins.list > /dev/null sudo apt-get update sudo apt-get install jenkins ``` - **使用 Docker 安装**: ```bash docker run -d -p 8080:8080 -p 50000:50000 --name jenkins \ -v jenkins_home:/var/jenkins_home \ jenkins/jenkins:lts ``` 安装完成后,访问 `http://localhost:8080` 并按照引导完成初始设置[^2]。 ### 3.2 配置 Jenkins 插件 Jenkins 的强大之处在于其插件生态系统。建议安装以下常用插件以支持 CI/CD 流程: - **Git plugin**:支持从 Git 仓库拉取代码。 - **Maven Integration plugin**:用于构建基于 Maven 的 Java 项目。 - **Pipeline**:支持定义复杂的构建、测试和部署流程。 - **SSH Pipeline Steps**:允许通过 SSH 连接到远程服务器执行命令。 - **Email Extension Plugin**:用于在构建失败或成功时发送通知。 这些插件可通过 Jenkins 的“Manage Jenkins” → “Plugins” 页面安装[^2]。 ### 3.3 创建 Jenkins Job 创建一个新的 Jenkins Job 来管理项目的构建流程: 1. 登录 Jenkins 控制台。 2. 点击“New Item”,输入任务名称并选择“Freestyle project”或“Pipeline”。 3. 在“Source Code Management”部分选择 Git,并填写仓库 URL 和凭据。 4. 在“Build Triggers”中选择“Poll SCM”或“GitHub hook trigger for GITScm polling”来触发自动构建。 5. 在“Build”部分添加构建步骤,例如使用 Maven 构建: ```bash mvn clean package ``` 6. 在“Post-build Actions”中添加部署步骤,如将构建产物复制到远程服务器或使用 Ansible 脚本进行部署[^1]。 ### 3.4 Jenkinsfile 实现 Pipeline 对于更复杂的项目,推荐使用 Jenkins Pipeline 来定义完整的构建、测试和部署流程。以下是一个简单的 Jenkinsfile 示例: ```groovy pipeline { agent any stages { stage('Checkout') { steps { git branch: 'main', url: 'https://github.com/your-repo.git' } } stage('Build') { steps { sh 'mvn clean package' } } stage('Deploy') { steps { sshagent(['server-ssh-credentials']) { sh ''' scp target/*.jar user@remote-server:/opt/app/ ssh user@remote-server "systemctl restart myapp" ''' } } } } } ``` 该 Jenkinsfile 定义了一个包含代码拉取、构建和部署阶段的流水线。通过这种方式,可以轻松地管理和维护整个 CI/CD 流程[^1]。 ### 3.5 部署策略与环境管理 在实际部署过程中,通常需要区分开发、测试和生产环境。可以通过 Jenkins 的参数化构建来实现不同环境的部署: - 使用 `choice parameter` 选择目标环境(dev, test, prod)。 - 根据选择的环境加载不同的配置文件(如 application-dev.yml、application-prod.yml)。 - 使用 Jenkins Credentials Store 存储敏感信息,如数据库密码、API 密钥等。 此外,结合 Docker 和 Kubernetes 可以实现更高效的容器化部署。例如,使用 Jenkins 构建 Docker 镜像并推送到私有仓库,再通过 Kubernetes 部署服务[^4]。 ### 3.6 监控与通知机制 为了及时发现构建失败或其他问题,建议配置监控与通知机制: - 使用 Email Extension Plugin 发送构建结果邮件通知。 - 集成 Slack Webhook,在 Slack 频道中接收构建状态更新。 - 利用 Jenkins Blue Ocean 插件提供可视化的流水线视图,便于跟踪构建进度。 通过上述配置,Jenkins 可以成为一个功能完备的持续集成与持续交付平台,显著提升软件开发生命周期的效率和可靠性[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值