Jenkins 解决GIT部署出现连续SCM部署的问题

本文探讨了使用Jenkins部署项目代码过程中遇到的问题——SCM自动创建构建导致部署被默认版本覆盖。文中详细介绍了SCM的工作原理,并提供了一个可行的解决方案。

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

背景

最近在工作中用Jenkins部署项目代码,但是每当我选择好了Gittag参数进行部署时会出现两个Job
其中一个Job是由我本人创建的,还有一个Job是由SCM自动创建的,而且由SCM自动创建的Gittag参数是默认值。
我想关闭这个SCM构建,但是并没有找到在哪里设置的。
这种情况是不合理的,这样部署的结果就是会被默认版本号覆盖。
在这里插入图片描述

说说SCM轮询

SCM(Source Control Management)
工作原理就是通过轮询扫描版本控制系统的代码是否有更新,如果有的话则触发项目构建。
也就是说我们选择了新的tag,而且gitee会自动切到对应的tag上,所以代码发生改变了,它就自动触发了项目构建。

如何解决

在网络上找了很多关于这个的资料,只找到一个有用的。
进入项目->配置->构建环境,找到**Delete workspace before build starts**,在它前面打上勾开启此功能。
在这里插入图片描述

这个功能就是说在部署前先删除工作环境,也就是说重新去拉code,这对于小项目来说没有问题,如果是代码库很大的话不推荐这个解决方法。

Reference:

jenkins无限构建_小然然无敌的博客-CSDN博客_jenkins部署一直在构建

<think>好的,我现在需要帮助用户解决Jenkins配置Git自动部署问题。首先,我得回顾一下用户提供的引用内容,确保信息准确。引用[1]和[2]提到了Jenkins自动化部署Git项目,特别是前端项目的部署步骤。用户现在需要详细的配置教程,所以我要分步骤来讲解。 首先,安装必要的插件是关键。Git插件和Pipeline插件是必须的,可能还需要其他插件GitHub集成。然后,创建新的任务,选择自由风格或者Pipeline项目,这里可能需要根据用户需求建议。接下来配置Git仓库的URL和凭据,这里需要注意权限问题,比如SSH密钥或者用户名密码的设置。 构建触发器的设置也很重要,用户可能想要实现代码推送后自动构建,所以需要配置Webhook或者轮询SCM。构建步骤部分,如果是前端项目可能需要执行npm install和构建命令,后端可能是编译步骤。最后,部署到服务器,可能需要SSH或FTP插件,这里要确保路径正确和权限足够。 此外,用户可能遇到常见问题,比如权限错误、Webhook配置不正确、路径错误等,需要给出排查建议。参考的引用内容提到Tomcat环境安装成功的页面,可能用户部署的是Java项目,但问题中也提到前端,所以需要涵盖两种情况。 最后,生成相关问题需要考虑用户可能的后续疑问,比如多分支部署、回滚机制、与CI/CD流程的结合等。整个过程要保持步骤清晰,语言简洁,确保用户能一步步跟着操作,同时引用正确的来源。</think>### 如何在Jenkins配置Git自动部署? 以下是分步配置教程,适用于前端或后端项目的自动化部署: --- #### **1. 安装必要插件** - **Git Plugin**:支持从Git仓库拉取代码 - **Pipeline**(推荐):定义流水线部署流程 - **Publish Over SSH**(可选):用于将构建产物传输到远程服务器 - **NodeJS Plugin**(前端项目):管理Node.js环境 进入 *Jenkins > 系统管理 > 插件管理* 安装[^2]。 --- #### **2. 创建新任务** 1. **任务类型选择** - 前端项目:建议选择 *Freestyle project*(简单配置) - 复杂项目:使用 *Pipeline* 定义多阶段流程 2. **配置Git仓库** - 在 *源码管理* 选择 **Git** - 填写仓库URL(如:`https://github.com/your-project.git`) - 添加凭据:SSH密钥或Git账号密码[^1] --- #### **3. 设置构建触发器** - **自动触发方式** - **Webhook**(推荐):Git仓库推送时触发 在Git平台(如GitHub)配置Webhook URL:`JENKINS_URL/github-webhook/` - **轮询SCM**:定时检查代码变更(如 `H/5 * * * *` 每5分钟) --- #### **4. 定义构建步骤** **示例:前端项目** ```bash # Shell命令(构建环境需预装Node.js) npm install npm run build tar -czvf dist.tar.gz dist/ ``` **示例:Java项目** ```bash mvn clean package ``` --- #### **5. 部署到服务器** 通过 **SSH Publishers** 插件配置: 1. 在 *系统管理 > 系统配置* 添加SSH服务器信息 2. 在任务配置的 *构建后操作* 中选择: - **Send files over SSH** - 源文件:`dist.tar.gz`(构建产物路径) - 远程目录:`/var/www/html/` - 执行命令:`tar -xzvf dist.tar.gz && rm -f dist.tar.gz` --- #### **6. 保存并测试** - 点击 *立即构建* 手动测试 - 检查控制台输出中的错误日志 - 验证远程服务器文件是否更新 --- ### **常见问题排查** | 问题类型 | 解决方案 | |-----------------------|---------------------------------| | 权限不足 | 检查SSH密钥或Git凭据权限 | | Webhook未触发 | 确认Jenkins安全设置允许匿名触发请求 | | 构建产物路径错误 | 使用绝对路径如 `$WORKSPACE/dist/` | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锡城筱凯

你的鼓励是我创造的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值