手摸手教你玩 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_UCJENKINS_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 来进行自动化部署项目,敬请期待吧~

相关文章
|
2月前
|
jenkins 持续交付 网络安全
手摸手教你玩 Jenkins,一次搞懂 CI/CD!(第二章:发布之sshPublisher)
本文详解如何用Jenkins通过SSH执行远程部署脚本实现项目发布:涵盖插件安装(Git Parameter、Publish Over SSH)、目标服务器配置(专用用户、免密sudo)、SSH凭据与Git凭据设置,并提供完整Jenkinsfile示例,支持参数化构建与多分支发布。(239字)
241 0
手摸手教你玩 Jenkins,一次搞懂 CI/CD!(第二章:发布之sshPublisher)
|
2月前
|
Web App开发 数据采集 iOS开发
Python爬虫的User-Agent轮换与浏览器指纹模拟实战
本文介绍日本代购爬虫的反爬策略:通过User-Agent池(随机/轮询/平台适配)、浏览器指纹模拟(多维度请求头)、随机化请求间隔及智能重试机制,构建高拟真度请求,有效绕过网站反爬检测,提升数据采集成功率。(239字)
318 1
|
前端开发
若依框架---如何防止请求重复提交?
若依框架---如何防止请求重复提交?
1970 2
|
存储 移动开发 开发框架
【微信小程序 | 实战开发】常用小程序框架介绍
【微信小程序 | 实战开发】常用小程序框架介绍
4756 0
【微信小程序 | 实战开发】常用小程序框架介绍
|
Linux iOS开发 MacOS
brew - mac 下的 brew 切换为国内源
brew - mac 下的 brew 切换为国内源
7128 0
|
JavaScript
Vue自定义组件实现类似elementUI的append-to-body功能,将创建的元素插入、挂载到body上面(网页最外层),适用于父元素overflow: hidden、绝对定位fixed的场景
Vue自定义组件实现类似elementUI的append-to-body功能,将创建的元素插入、挂载到body上面(网页最外层),适用于父元素overflow: hidden、绝对定位fixed的场景
|
9月前
|
jenkins Java 持续交付
Jenkins前置配置
本文介绍Jenkins与GitLab集成的完整配置流程,包括:在GitLab创建Jenkins账号并配置SSH密钥;Jenkins中设置GitLab API Token、关闭host key验证;配置全局Git用户名邮箱;添加私钥凭据用于拉取代码;节点服务器环境准备,部署JDK、Maven、Node等开发工具,并配置Docker环境;最后在Jenkins中添加SSH节点,指定远程工作目录与Java路径,实现任务分发与持续集成。
512 0
|
8月前
|
存储 缓存 数据建模
StarRocks + Paimon: 构建 Lakehouse Native 数据引擎
12月10日,Streaming Lakehouse Meetup Online EP.2重磅回归,聚焦StarRocks与Apache Paimon深度集成,探讨Lakehouse Native数据引擎的构建。活动涵盖架构统一、多源联邦分析、性能优化及可观测性提升,助力企业打造高效实时湖仓一体平台。
940 39
|
3月前
|
程序员 Linux C++
【全网最详细】Python下载+安装+环境配置全攻略图文教程(零基础也能搞定)
本文面向零基础小白,手把手教你在20分钟内完成Python环境配置:从下载安装、验证成功,到写出第一行代码、运行Excel处理脚本。无需编程经验,只需会操作鼠标和打字,轻松迈出自动化办公第一步!
1956 0
|
存储 前端开发 安全
Tauri 开发实践 — Tauri 原生能力
本文介绍了如何使用 Tauri 框架构建桌面应用,并详细解释了 Tauri 提供的原生能力,包括文件系统访问、系统托盘、本地消息通知等。文章通过一个具体的文件下载示例展示了如何配置 Tauri 来使用文件系统相关的原生能力,并提供了完整的代码实现。最后,文章还提供了 Github 源码链接,方便读者进一步学习和参考。
1211 1
Tauri 开发实践 — Tauri 原生能力

热门文章

最新文章