Jenkins 教程:Jenkins 2.426.1 LTS 快速掌握 Jenkins 最新版安装、配置 及 自动化部署项目(只涉及前端模块)

本文将涉及两个主要内容: Windows 本地搭建 Jenkins 服务器、Jenkins+Nginx 自动化部署 Vue 项目

一些基础概念

在了解 Jenkins 之前,我们先来学习了解一下这些:DevOpsCI/CD

了解 DevOps

DevOps 是一种文化和实践方法,旨在促使开发和运维团队更紧密、更协同地合作。

DevOps 是一种软件开发和 IT 运维(Operations)之间协作、通信和整合的文化和实践方法。它的目标是通过自动化和改进团队协作来缩短软件开发生命周期,提高交付速度,增强产品的可靠性和稳定性。

DevOps 这个术语来源于两个单词的组合:Development(开发)+ Operations(运维)。DevOps 的理念强调开发团队和运维团队之间的协作,以及使用自动化工具来支持软件开发、测试和部署。

关键的 DevOps 实践包括:

  1. 持续集成(Continuous Integration,CI): 将开发人员的代码变更频繁地合并到共享存储库中,然后自动进行构建和测试,以确保代码的质量。

  2. 持续交付(Continuous Delivery,CD): 自动将通过持续集成验证的代码部署到测试和生产环境,以实现快速、可靠的交付。

  3. 自动化(Automation): 使用自动化工具来执行重复性、繁琐的任务,包括构建、测试、部署和基础设施管理。

  4. 监控和日志(Monitoring and Logging): 持续监测应用程序和基础设施的性能,收集日志以便及时发现和解决问题。

  5. 协作与沟通(Collaboration and Communication): 提倡开发团队、运维团队以及其他相关部门之间的紧密协作和沟通,以促进信息共享和问题解决。

  6. 基础设施即代码(Infrastructure as Code,IaC): 将基础设施的配置和管理通过代码的方式进行,使得基础设施可以像应用程序一样进行版本控制和自动化。

DevOps 的优势包括:

  • 快速交付: 缩短开发周期,实现更快速、可靠的软件交付。

  • 高质量: 通过自动化测试和持续集成,提高代码质量,减少缺陷。

  • 可靠性: 通过自动化和监控,提高系统的稳定性和可靠性。

  • 灵活性: 更容易适应变化,支持快速反馈和迭代。

什么是 CI/CD

CI/CD(持续集成/持续交付) 是 DevOps 实践的核心组成部分,通过自动化实现持续集成和持续交付,以加速软件交付。

CI/CD 的目标是通过自动化、持续集成、持续交付以及相关的自动化测试和部署实践,加速软件的开发和交付过程。

CI持续集成 Continuous Integration

CD持续交付 Continuous Delivery 和 持续部署 Continuous Deployment

CI(持续集成)

持续集成(Continuous Integration,CI)持续集成是一种软件开发实践,旨在频繁地将代码集成到共享的存储库中,并通过自动化构建和测试流程,确保代码的可集成性。

主要特点和步骤:

  1. 频繁集成: 开发人员将小块的代码变更频繁地合并到主干代码库中,以避免长时间的分支,减少集成问题。

  2. 自动化构建: 通过构建工具(如 Maven、Gradle),自动将源代码转换为可执行的软件包。

  3. 自动化测试: 在构建后,自动运行测试套件,包括单元测试、集成测试等,以确保新的代码变更没有破坏现有功能。

  4. 快速反馈: CI 系统提供即时反馈,通知开发人员其代码是否通过了构建和测试阶段。

CD(持续交付/持续部署)

持续交付(Continuous Delivery,CD): 是指通过自动化流程,确保软件在任何时候都是可交付的状态,但是需要人工干预 来触发实际的部署。这意味着软件可以在任何时候被交付给用户。

持续部署(Continuous Deployment): 是 CD 的一种扩展,它不仅确保软件在任何时候都是可交付的状态,而且通过自动化流程 实际完成了软件的部署,使其立即可用。

主要特点和步骤:

  1. 自动化部署: 在通过 CI 验证后,自动将软件部署到测试、预生产或生产环境,实现自动化的交付流程。

  2. 版本控制: 通过版本控制系统(如 Git),确保可以追溯和回滚到先前的软件版本。

  3. 自动化回滚: 在部署中引入自动化回滚机制,以便快速还原到之前的稳定状态。

  4. 监控和反馈: 在整个交付过程中,持续监控应用程序的性能和行为,收集反馈,以便实时发现和解决问题。

初识 Jenkins

Jenkins 是一个支持 CI/CD 实践的工具,用于自动化构建、测试和部署任务。

Jenkins 是一个流行的开源自动化服务器,用于实现 CI/CD。它可以自动执行构建、运行测试部署 应用程序等任务,促进了持续集成和持续交付(CI/CD)。在 CI/CD 流程中,Jenkins 通常用于自动化构建和部署阶段。Jenkins 为自动化重复性任务提供了平台,通过 Jenkins,团队可以设置和管理构建和部署流水线,确保代码的快速、可靠地交付,使开发和运维团队能够更轻松地协作并交付高质量的软件。

Jenkins 的主要特点包括:

  1. 持续集成(CI): Jenkins 支持持续集成实践,其中代码更改会自动构建、测试并集成到主代码库中。这有助于在开发过程的早期识别并解决集成问题。

  2. 插件架构: Jenkins 拥有丰富的插件生态系统,这些插件扩展了其功能。这些插件涵盖了各种工具和技术,使 Jenkins 能够与不同的版本控制系统、构建工具、测试框架、部署解决方案等集成。

  3. 管道即代码: Jenkins 支持将构建和部署管道定义为代码的实践。通常使用 Jenkinsfile 来描述管道的步骤,允许进行版本控制并轻松共享管道配置。

  4. 分布式构建: Jenkins 可以在多台机器上分布构建和测试任务,实现并行执行和更快的反馈。

  5. 可扩展性: 开发人员可以通过插件系统或编写自定义脚本来扩展 Jenkins。这使其能够适应不同的项目需求和工作流程。

  6. 广泛的集成: Jenkins 与各种工具和服务集成,包括版本控制系统(例如 Git、Subversion)、构建工具(例如 Maven、Gradle)、测试框架和部署平台(例如 Docker、Kubernetes)。

  7. 监控和通知: Jenkins 提供了构建和管道的监控功能。可以配置它通过电子邮件、Slack 或其他消息系统发送有关构建状态或其他事件的通知。

  8. 社区支持: Jenkins 拥有庞大而活跃的社区,为其持续发展提供了支持,并通过论坛、邮件列表等渠道提供支持。

要使用 Jenkins,通常需要将其安装在服务器上,配置作业或管道,然后手动或根据代码更改自动触发它们。Jenkins 可以根据不同的开发和部署工作流程进行定制。

以上只是关于 Jenkins 的基本了解,下面简单介绍一些常见的 CI/CD 工具有哪些?

⒈Jenkins

  • 特点: 开源、插件丰富、可定制性强,支持多语言和多环境。

  • 适用场景: 适用于各种规模的项目,尤其是需要高度定制化和灵活性的团队。

⒉GitLab CI/CD

  • 特点: 集成在 GitLab 平台中,提供完整的 DevOps 解决方案,包括 CI/CD、仓库管理等。

  • 适用场景: 适用于团队已经使用 GitLab 作为代码仓库的情况,简化了工具集成。

⒊TeamCity

  • 特点: 强大而灵活,支持多种构建和部署场景。

  • 适用场景:商业,适用于中大型团队

⒋Travis CI

  • 特点: 托管服务,与 GitHub 集成紧密,易于设置。

  • 适用场景: 适用于开源项目,快速上手,无需自己搭建服务器。

⒌CircleCI

  • 特点: 托管服务,容器化支持,高度可定制。

  • 适用场景: 适用于多语言和多环境的项目,注重容器化构建和部署。

⒍AWS CodePipeline

  • 特点: 托管服务,适用于 AWS 云环境,可集成多个 AWS 服务。

  • 适用场景: 适用于基于 AWS 云的项目,提供了全栈的 CI/CD 功能。

⒎Azure DevOps Services

  • 特点: 托管服务,提供完整的 DevOps 解决方案,包括 CI/CD、仓库管理等。

  • 适用场景: 适用于使用 Azure 云服务的项目,提供一体化的工具。

⒏GitLab CI/CD

  • 特点: 集成在 GitLab 中,提供了强大的 CI/CD 功能,包括自动化部署和监控。

  • 适用场景: 适用于使用 GitLab 作为代码仓库的项目,一体化的解决方案。

⒐GitHub Actions

  • 特点: 托管服务,与 GitHub 紧密集成,可定义自动化工作流。

  • 适用场景: 适用于 GitHub 上的项目,无需额外的集成,与代码仓库深度集成。

Windows 平台搭建 Jenkins 服务器

1.1. 前置准备:安装 Java

在安装 Jenkins 之前,请务必确保已提前安装配置好 JDK 环境!=》下载 Java:访问 Oracle 官网,下载并安装 Java Development Kit (JDK)。确保将 Java 添加到系统的环境变量中。

1.1.1. 下载 JDK 安装包

下载 JDK 安装包: Oracle 官网下载地址,注意平台和安装包的选择,这里是 Windows 下的 x64 安装包。

1.1.2. 安装

安装:运行下载的exe安装程序 (注意:如果安装的是 JDK8 版本,则需要分别设置 jdk 和 jre 安装路径)。

1.1.3. 配置环境变量

配置环境变量:【此电脑】|【属性】|【高级系统设置】|【环境变量】。

系统变量 新建 JAVA_HOME 变量,变量值取 jdk 根目录(此处的路径是:E:\CodeTool\Java\jdk-21);

如果有多个版本的 JDK 需要配置,可以新建多个变量:JAVA_21HOME、JAVA_8HOME 变量(变量值取 jdk 根目录) 和 JAVA_HOME 变量(如果需要 JDK21 版本环境,变量值设置 %JAVA21_HOME%);

系统变量 Path 变量中添加以下两个变量值:%JAVA_HOME%\bin%JAVA_HOME%\jre\bin

注意,如果 Path 变量中存在 C:\Program Files\Common Files\Oracle\Java\javapath变量,请将它下移至新增的两个变量之后,否则可能导致之后切换其他版本 JDK 不生效(比如 JAVA_HOME 变量由 %JAVA21_HOME%改为JAVA17_HOME%代表从 JDK21 版本切换为 JDK17)!!!

Path 变量新增:

%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

1.1.4. 验证安装

验证安装:打开 cmd 命令行窗口,输入java --versionjava -version命令来验证 JDK 的安装,JDK8 命令java -version

每次切换 JDK 版本(修改 JAVA_HOME 变量)后,重启命令行窗口验证生效!

1.2. 下载安装 Jenkins

建议在 Jenkins 官网下载最新稳定版的 Jenkins,但由于 Jenkins 对 JDK 有要求,每个人安装的 JDK 版本不尽相同,在下载之前还是先瞅一眼 Jenkins 和 JDK 版本对应关系

我的本地支持 JDK21,这里我们前往 Jenkins 官网下载地址,下载最新版本的 Jenkins,下载完成后得到一个 jenkins.msi 安装包 。

双击安装包进入安装:

1.3. Jenkins 配置

1.3.1. 解锁 Jenkins

访问 Jenkins 界面:打开浏览器,访问 http://localhost:8080/ ,端口为安装过程中填写的端口号,然后根据提示操作。

在本地 C:\ProgramData\Jenkins\.jenkins\secrets\initialAdminPassword 路径下复制密码填写。

1.3.2. 选择安装插件

新手选择【安装推荐的插件】即可,老手可以自己选择插件安装。

1.3.3. 创建管理员用户

在安装向导中,创建 Jenkins 管理员用户并设置相关信息。

1.3.4. 实例配置

配置 Jenkins 的 URL 访问地址。

1.4. 安装必要的插件

访问 Jenkins URL 登录,Jenkins 控制台,点击左侧导航栏的 【Manage Jenkins】 -> 【Plugins】。可以搜索并安装以下插件:

  • NodeJS Plugin:前端项目必不可少,用于集成 Node.js 和 npm

  • Git Plugin:用于集成 Git 版本控制。

  • Git server 此插件用于在 Jenkins 中设置 Git 服务器。它允许您在 Jenkins 中托管 Git 存储库,以便构建任务可以轻松地访问代码。

  • Git Integration使 Jenkins 与 GitHub 之间的集成更加无缝。它可以与 GitHub Webhooks 配合使用,以便在代码推送到 GitHub 存储库时触发 Jenkins 构建任务。

  • Pipeline Plugin:用于创建流水线脚本。

  • Publish Over SSH Plugin:用于通过 SSH 进行部署,在构建完成后通过 SSH 将构建产物或其他文件传输到远程服务器。

  • Post build task用来把打包好的项目自动移动到 nginx 目录,允许在构建完成后执行额外的任务,可以是一些清理工作、通知、或其他与构建过程相关的任务。

Jenkins 重启,Jenkins URL 路径后追加 /restart 重启生效!

1.5. 配置凭据

Jenkins 配置凭据的主要目的是确保对敏感信息的安全存储和传输。凭据通常包括访问源代码仓库、构建工具、部署目标等需要身份验证的信息。

在 Jenkins 控制台,点击左侧导航栏的 【Manage Jenkins】 ->【Credentials】配置凭据:

Jenkins 配置凭据的类型有:Username with passwrodGitHubAPPSSH Username with private keySecret fileSecret textCertificate。这里我们先配置Username with passwrodSecret text 两种凭据。

Jenkins 凭据类型

配置内容

Username with passwrod

ID:

一个唯一的标识符,用于在 Jenkins 中引用这个凭据。

  • Username: 用户名,通常是需要认证的服务的用户名。

  • Password: 用户名对应的密码,可以直接输入。

GitHubAPP

用于将 Jenkins 与 GitHub App 集成,允许 Jenkins 以 GitHub App 的身份与 GitHub 仓库进行交互。

  • API URL: GitHub API 的地址,通常为 https://api.github.com.

  • App ID: GitHub App 的 ID,您可以在 GitHub App 的设置中找到。

  • Private Key: GitHub App 的私钥,可以是直接粘贴进来,也可以是通过 "Add" 按钮上传私钥文件。

SSH Username with private key

用于在 Jenkins 中通过 SSH 连接到 GitHub 仓库。这对于拉取和推送代码是必需的。

  • Username: SSH 连接的用户名。

  • Private Key: 私钥,可以是直接粘贴进来,也可以是通过 "Add" 按钮上传私钥文件。

Secret file

  • Secret File: 上传包含敏感信息的文件,比如 API 密钥或其他需要保密的文件。

Secret text

可能需要用于存储 GitHub Token 或其他敏感信息,以进行访问权限的认证。

  • Secret: 直接输入敏感信息,比如密码、API 密钥等。

Certificate

  • Certificate: 上传证书文件。

1.5.1. Username with passwrod

Username with passwrod 这个凭据配置很简单,直接配置对应 Git 仓库的用户名密码即可。

1.5.2. Secret text

Secret text凭据一般先需要获取 Token 后再来配置,以 GitHub 为例:

生成 GitHub Token,并复制 Token

登录到 GitHub -> 右上角点击用户头像,进入个人设置页面【Settings】-> 选择【Developer settings】 -> 【Personal access tokens】 -> 点击 【Generate new token】 -> 选择需要的权限(scopes),例如 repo、workflow 等,以便 Jenkins 可以执行所需的操作 ->最后点击 【Generate token】。

在 Jenkins 中配置 Secret Text 凭据:

以下就是我们已经配置好的凭据列表:

1.5.3. SSH Username with private key

为了在 Jenkins 中使用 SSH Username with Private Key 凭据与 GitHub 进行交互,您需要在 Jenkins 中配置这些凭据,并将其用于访问 GitHub 仓库。以下是一般的步骤:

步骤一:生成 SSH 密钥对

如果您还没有 SSH 密钥对,可以通过以下步骤在 Jenkins 服务器上生成:打开终端或命令提示符,运行以下命令生成 SSH 密钥对:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  1. 在生成过程中,您可以选择将密钥保存在默认位置,也可以选择自定义位置。

  2. 检查 ~/.ssh/id_rsa.pub 文件,并复制其中的内容。

步骤二:在 GitHub 中添加 SSH 公钥

  1. 登录到 GitHub。

  2. 转到您的 GitHub 个人设置,然后选择 【SSH and GPG keys】。

  3. 点击 【New SSH key】。

  4. 在 "Title" 字段中为密钥命名,将刚刚复制的公钥粘贴到 "Key" 字段中。

  5. 点击 "Add SSH key"。

步骤三:在 Jenkins 中配置 SSH Username with Private Key 凭据

  1. 在 "Username" 字段中输入您在 GitHub 上的用户名。

  2. 在 "Private Key" 字段中,有两个选项:

  • Enter directly: 直接输入您生成的私钥。

  • From a file on Jenkins master: 如果选择此选项,您可以将私钥文件上传到 Jenkins 服务器,然后 Jenkins 将读取该文件。

步骤四(可选):在 Jenkins 项目中使用 SSH 凭据

  1. 打开您的 Jenkins 项目配置。

  2. 在 "Source Code Management" 部分选择 Git。

  3. 在 "Repository URL" 中输入您的 GitHub SSH 仓库 URL。

  4. 在 "Credentials" 中选择刚刚配置的 SSH Username with private key 凭据。

  5. 保存配置。

现在,Jenkins 将能够使用 SSH 凭据从 GitHub 拉取代码。确保 Jenkins 服务器能够访问 GitHub,以确保 SSH 凭据能够正常工作。

1.6. Jenkins 全局配置

在 GitHub 项目下配置 Webhooks:在仓库页面,点击右上角的 【Settings】(设置)选项,在左侧菜单中,找到【Webhooks】 选项,点击 【Add webhook】配置。

1.7. Jenkins 工具配置

配置 Jenkins 全局工具:Jenkins 控制台,点击 【Manage Jenkins】 -> 【Tools】,配置 JDK、Git、NodeJS 等安装路径。此处省略本地这些环境相关的安装过程。

JDK 全局配置

Git 全局配置:注意路径一定要精确到本地 git.exe 为止。

NodeJS 全局配置:注意一定要选择好版本再进行配置安装,可以node -v查看本地开发运行的 Node 版本,选择与本地相同的版本,以免发生版本问题导致项目发布失败。

至此,Windows 本地搭建的 Jenkins 服务器已基本完成,我们也对 Jenkins 进行了一些简单配置。接下来就进入到 Jenkins 的使用 重点环节啦:如何利用 Jenkins 工具来自动化部署我们的前端 Vue 项目。

Jenkins+Nginx 实现自动化部署 Vue 项目(Windows)

副标题:Windows 本地使用 Jenkins 持续集成前端项目并自动化部署到 Nginx 服务器,本文以 GitHub 项目为例目

1.1. 前置准备

准备环境:确保你的 Windows 环境中已经安装了以下工具:

  • Node.js 和 npm

  • Git

  • Jenkins(参考前文:Windows 平台搭建 Jenkins 服务器)

  • Nginx(本地部署项目使用)

创建前端项目:此外,还需在 GitHub 上创建一个前端 Vue 项目,确保项目中包含 package.json 文件和一个基本的 Vue 单文件组件。关于 Vue 项目的创建此处不赘述。

1.2. 创建 Jenkins 项目

登录本地 Jenkins 服务器(如:访问 Jenkins URL:http://localhost:8080/ )后,点击左侧导航栏的【New Item】,输入项目名称,选择【Freestyle project】,然后点击 "OK"。

1.3. 配置 Jenkins 项目

1.3.1. General

1.3.2. 源码管理

1.3.3. 构建触发器

1.3.4. 构建环境

1.3.5. 构建步骤

1.3.6. 构建后操作

到这一步之前,项目已经打包好了,我们需要在构建后将打包好的项目复制在 nginx 特定路径下,Nginx 配置文件仍需要自己手动根据需求去配置。

关于 Nginx 的配置,本文不再赘述,不清楚的朋友们可以移步至 初识 Nginx:Nginx 入门与实践.

其中要注意的点是:log text 的值,这个是 post build tash 触发的关键,就是我们 jenkins 自动部署该项目时候产生的日志,我判断有 deployed 的日志文字,就促发 post build, 如果是 tomcat 项目,执行前面成功命令是 BUILD SUSSESS,我们就可填写相应的值进去。

删除nginx原文件目录:

rmdir /q /s "E:\Server\nginx\nginx-1.25.3\html\vue-jenkins-test"

复制打包好的项目到nginx原文件目录下:

xcopy /y /e /i "C:\ProgramData\Jenkins\.jenkins\workspace\ns-web\ns" "E:\Server\nginx\nginx-1.25.3\html\vue-jenkins-test"

1.4. 构建测试

1.5. Jenkins 构建过程中可能发生的报错情况

1.5.1. ERROR: Error fetching remote repo 'origin'

Jenkins 构建报错

ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from https://github.com/xxx/xxx.git
	at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:999)
	at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1241)
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1305)
	at hudson.scm.SCM.checkout(SCM.java:540)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1248)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:649)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:85)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:521)
	at hudson.model.Run.execute(Run.java:1895)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
	at hudson.model.ResourceController.execute(ResourceController.java:101)
	at hudson.model.Executor.run(Executor.java:442)
Caused by: hudson.plugins.git.GitException: Command "E:\RevisionControl\Git\bin\git.exe fetch --tags --force --progress -- https://github.com/xxx/xxx.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:

以下是可能导致 “Failed to fetch” 错误的一些常见原因和解决方法:

⒈Git URL 错误:检查 Git 仓库地址,确保 Jenkins 任务配置中的 Git 存储库 URL 正确;检查是否使用了正确的协议(HTTP、HTTPS、SSH)以及 URL 是否可访问。

⒉凭据问题:如果您的 Git 存储库需要身份验证,请确保在 Jenkins 任务中配置了正确的凭据。

  • 如果使用 HTTPS,请确保使用了正确的用户名 / 密码或个人访问令牌。

  • 如果使用 SSH,请确保 Jenkins 中正确配置了 SSH 私钥。

⒊网络代理和防火墙问题:确保没有网络 / 防火墙问题阻止 Jenkins 连接到 Git 存储库。

⒋Git 版本兼容性:确保 Jenkins 服务器上安装的 Git 版本与 Git 存储库兼容,并且 Git 的可执行文件路径正确配置。有时更新 Jenkins 上的 Git 版本可能解决兼容性问题。

⒌验证 Jenkins 服务器对 Git 仓库的访问权限:确保 Jenkins 服务器可以访问 Git 仓库。如果您使用的是私有仓库,确保 Jenkins 服务器有权访问它。

  1. SSH 连接测试:

    • 如果您使用 SSH 连接到 Git 仓库,请确保 Jenkins 服务器上的 SSH 密钥与 Git 仓库中的公钥匹配。

    • 在 Jenkins 服务器上,使用 Jenkins 用户身份(通常是在 Jenkins 服务中运行的用户)运行以下命令,测试是否能够成功 SSH 连接到 Git 仓库(如果成功,您应该看到一个成功的消息,表示 SSH 连接正常):

      ssh -T git@github.com 	# 替换 git@github.com 为您实际的 Git 仓库地址
  2. HTTP/HTTPS 连接测试:

    • 如果您使用 HTTP 或 HTTPS 连接到 Git 仓库,请确保 Jenkins 服务器上能够访问 Git 仓库的网络。

    • 在 Jenkins 服务器上运行以下命令,测试是否能够成功连接到 Git 仓库(如果成功,您应该看到 Git 仓库的一些信息,表示连接正常):

      git ls-remote https://github.com/your-username/your-repo.git		# 替换 https://github.com/your-username/your-repo.git 为您实际的 Git 仓库地址

⒍工作空间清理:确保 Jenkins 工作目录(项目的构建目录)没有因为某些原因而损坏。有时候,删除 Jenkins 工作目录并重新构建可以解决问题。

  1. 尝试在构建之前清理 Jenkins 工作空间。在您的任务配置中,您可以在 “构建环境” 部分下添加一个构建步骤,“在构建开始前删除工作空间”。

⒎Git LFS:如果您的存储库使用了 Git LFS(大文件存储),请确保在 Jenkins 服务器上安装了 Git LFS。

⒏查看 Git 仓库状态:尝试手动在 Jenkins 服务器上使用相同的 Git 命令(git fetchgit clone)来查看是否能够正常获取代码。

⒐查看 Git 仓库中是否存在问题:检查 Git 仓库本身是否正常。有时候,Git 仓库可能存在问题,导致无法正常获取。

⒑Webhook 测试:如果您使用 Webhook 触发 Jenkins 构建,请确保 Jenkins 服务器能够从外部访问 Git 仓库。验证 Webhook 的 URL 是否正确,并尝试手动触发构建。

1.5.2. Failed to connect repository

项目设置为 Public 公开或者配置凭据来允许访问项目。

Jenkins 自动化部署 Vue 项目(Linux)

未完待续……

关于 Jenkins 卸载(Windows)

要在 Windows 系统上彻底卸载 Jenkins,你可以按照以下步骤进行:卸载 Jenkins 服务 & 控制面板卸载 Jenkins & 删除安装目录等。

  1. 服务管理器:【Win + R】 打开运行对话框,输入services.msc找到 Jenkins 服务,右键单击 Jenkins 服务,选择 "停止",然后在属性窗口中,选择 "停止" 并将 "启动类型" 更改为 "禁用"。

  1. 卸载 Jenkins:控制面板,"程序和功能" 中,找到 Jenkins,单击 "卸载"。

  2. 手动删除目录:删除 Jenkins 安装目录、删除 Jenkins 数据目录(默认情况下,Jenkins 的数据目录位于用户的主目录下的 .jenkins 文件夹中。删除此文件夹,确保相关数据也被清除

或者利用 Everything 搜索工具,搜索 Jenkins 字段,选择不要的删除即可。