手摸手教你玩 Jenkins,一次搞懂 CI/CD!(第一章:部署)

简介: Jenkins 是开源CI/CD自动化工具,支持代码拉取、构建、测试、部署全流程。本文详解Docker一键部署(含国内镜像加速)、初始配置及必备插件(Git Parameter、Publish Over SSH),助开发者告别手动运维,实现高效持续集成与交付。(239字)

对于开发者来说,能自动化部署项目,就像解锁了“自动驾驶”。而 Jenkins,就是让你从“手动上传代码、拷贝文件、重启服务”的地狱中解放出来的神器。

Jenkins 是什么?

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

简单来说,Jenkins 是一个开源的自动化持续集成工具。
它能帮你自动完成:

  • 拉取最新代码;
  • 自动打包;
  • 自动部署到服务器;
  • 甚至自动测试、自动通知。

为啥开发者都离不开 Jenkins?

你可以回想一下,每次项目更新你都得:

  1. 打包;
  2. 上传服务器;
  3. 手动部署;
  4. 启动服务;
  5. 通知测试。

一天下来,不光浪费时间,还容易出错。
有了 Jenkins,你只需要点一下“构建”,剩下的流程全自动搞定。
这就是 持续集成(CI)+ 持续部署(CD) 的魅力。

本来想一次性讲完使用 Jenkins 从零到发布的整个流程,但是发现篇幅有点儿长了,于是打算分 3 篇来讲,这一篇是 Jenkins 的部署篇,后面两篇将是使用 Jenkins 发布项目篇。感兴趣的小伙伴可以蹲守一下。

安装 Jenkins

为了方便安装,我直接使用 docker 来进行安装 Jenkins。

docker pull jenkins/jenkins:lts-jdk17

docker run -d --name jenkins \
--restart=unless-stopped \
-u root \
-p 8080:8080 \
-p 50000:50000 \
-v /apps/docker_mounts_dir/jenkins/jenkins-data:/var/jenkins_home \
-e TZ=Asia/Shanghai \
-v /etc/localtime:/etc/localtime:ro \
-e JENKINS_UC=https://mirrors.cloud.tencent.com/jenkins/ \
-e JENKINS_UC_DOWNLOAD=https://mirrors.cloud.tencent.com/jenkins/ \
jenkins/jenkins:lts-jdk17

注意: 在国内一定要加上 JENKINS_UC 和 JENKINS_UC_DOWNLOAD 参数,不然在 Jenkins 中下载插件会慢到让你怀疑人生……

安装完毕之后,可以通过执行下面的命令来查看 admin 用户的密码

docker logs jenkins

查看 admin 用户的密码

或者可以直接通过以下命令进行查看

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

访问 Jenkins

然后就可以直接在浏览器中访问 127.0.0.1:8080

访问 Jenkins 页面

安装插件

选择插件来安装

进入下一个页面之后,不需要选择任何的插件,直接点击「安装」按钮就可以了。

直接点击“安装”

等待插件安装

等待插件安装

如果有插件安装失败,那么可以直接重试

如果插件安装失败的话

直到所有的插件安装成功之后,点击「继续」

所有的插件安装成功之后

然后需要创建一个管理员账号,当然了,不创建也可以,就继续使用 admin 账户登录,但是就得每次记录之前的那个长长的密钥。

创建第一个管理员用户

这里就根据自己的实际情况进行填写就好了。

配置 Jenkins URL

根据自己的实际情况去配置 Jenkins URL 就好了,我觉得没有必要配置,就直接选择的默认。

下面 Jenkins 就已经安装成功啦!

Jenkins 安装成功

现在只能说 Jenkins 已经安装成功了,但是想要使用 Jenkins 来部署项目,我们还得安装以下插件进行配合才可以。

必须要安装的插件

  • Git Parameter:拉取源代码分支
  • Publish Over SSH:将我们打包好的代码推送到目标服务器上
  • AnsiColor:向控制台输出添加 ANSI 颜色(也可以不安装)

我们点击右上角的设置图标

去设置页面

来到插件管理页面

插件管理

我们需要先在 Available plugins 中搜索 Git Parameter 然后进行安装 Git Parameter 插件

Git Parameter

继续安装另外两个插件

安装 ssh 插件

当我们将以上插件都安装完毕之后,就代表我们部署项目的准备工作已经做完了。下一章节,我将一步一步告诉你如何通过 Pipeline 来进行自动化部署项目,敬请期待吧~

相关文章
|
4月前
|
jenkins 持续交付 网络安全
手摸手教你玩 Jenkins,一次搞懂 CI/CD!(第二章:发布之sshPublisher)
本文详解如何用Jenkins通过SSH执行远程部署脚本实现项目发布:涵盖插件安装(Git Parameter、Publish Over SSH)、目标服务器配置(专用用户、免密sudo)、SSH凭据与Git凭据设置,并提供完整Jenkinsfile示例,支持参数化构建与多分支发布。(239字)
324 0
手摸手教你玩 Jenkins,一次搞懂 CI/CD!(第二章:发布之sshPublisher)
|
前端开发
若依框架---如何防止请求重复提交?
若依框架---如何防止请求重复提交?
2026 2
|
存储 移动开发 开发框架
【微信小程序 | 实战开发】常用小程序框架介绍
【微信小程序 | 实战开发】常用小程序框架介绍
4800 0
【微信小程序 | 实战开发】常用小程序框架介绍
|
4月前
|
Ubuntu jenkins Java
手摸手教你玩 Jenkins,一次搞懂 CI/CD!(第三章:发布之nodeAgent)
本文为Jenkins系列教程第三篇,详解如何通过SSH代理节点实现远程部署:涵盖节点添加、凭据配置、Java环境安装及Jenkinsfile编写,对比sshPublisher方案,突出其简化脚本、无需额外插件的优势,强调实操性与可落地性。(239字)
262 0
手摸手教你玩 Jenkins,一次搞懂 CI/CD!(第三章:发布之nodeAgent)
|
3月前
|
存储 人工智能 数据可视化
阿里云百炼平台深度评测:功能、定价与竞品全面对比
深度评测阿里云百炼平台的核心功能、定价方案与竞品差异,涵盖模型调用、应用编排、RAG等能力,助你判断百炼是否适合你的AI项目。
907 0
|
4月前
|
人工智能 安全 机器人
阿里云企业 Agent 应用平台对接实战:从零搭建生产级智能体
本文系统讲解阿里云企业级Agent应用平台的对接与使用全流程。首先介绍平台产品矩阵(百炼、AgentRun、AgentTeams等)及核心能力。然后从环境准备、API Key获取、模型配置等前置工作入手,详细演示通过百炼平台创建Agent、定义工具函数(Function Calling)、配置MCP协议工具与RAG知识库的完整步骤。接着深入讲解Agent的三种集成方式(UI集成、代码集成、生态集成),提供HTTP API调用与Python/Java SDK的完整代码示例。同时涵盖企业级安全管控(RAM权限最小化、Agent Identity授权)、可观测性配置(日志与监控)、成本优化策略(Se
|
11月前
|
jenkins Java 持续交付
Jenkins前置配置
本文介绍Jenkins与GitLab集成的完整配置流程,包括:在GitLab创建Jenkins账号并配置SSH密钥;Jenkins中设置GitLab API Token、关闭host key验证;配置全局Git用户名邮箱;添加私钥凭据用于拉取代码;节点服务器环境准备,部署JDK、Maven、Node等开发工具,并配置Docker环境;最后在Jenkins中添加SSH节点,指定远程工作目录与Java路径,实现任务分发与持续集成。
567 0
|
10月前
|
存储 缓存 数据建模
StarRocks + Paimon: 构建 Lakehouse Native 数据引擎
12月10日,Streaming Lakehouse Meetup Online EP.2重磅回归,聚焦StarRocks与Apache Paimon深度集成,探讨Lakehouse Native数据引擎的构建。活动涵盖架构统一、多源联邦分析、性能优化及可观测性提升,助力企业打造高效实时湖仓一体平台。
1048 39
|
5月前
|
程序员 Linux C++
【全网最详细】Python下载+安装+环境配置全攻略图文教程(零基础也能搞定)
本文面向零基础小白,手把手教你在20分钟内完成Python环境配置:从下载安装、验证成功,到写出第一行代码、运行Excel处理脚本。无需编程经验,只需会操作鼠标和打字,轻松迈出自动化办公第一步!
2634 0
|
10月前
|
机器学习/深度学习 数据采集 人工智能
如何赋予大语言模型以“灵魂”?深度解析增量预训练(Continual Pre-training)逻辑与实战代码
本文深入解析大模型增量预训练(CPT/DAP/CFT)三大路径,厘清RAG、微调与预训练的适用边界;结合eBay、AWS等实战案例,详解低成本高效CPT方法,并提供Unsloth框架下Qwen-3-4B金融领域实操代码。
1597 1
如何赋予大语言模型以“灵魂”?深度解析增量预训练(Continual Pre-training)逻辑与实战代码