Jenkins 自动化看这一篇就够了

Jenkins 自动化看这一篇就够了

本篇文章将向您介绍Jenkins的基本功能以及如何安装和使用Jenkins 文章很细节,建议看到最后

1. 先对Jenkins 做一个简单的了解

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。 Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

1.1 CI/CD解释

CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。

CD(Continuous Delivery, 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。

1.2 为啥要用Jenkins 它解决了哪些痛点?

优点:

开源免费:Jenkins是开源的,这意味着用户可以自由地使用、修改和分发它,而不需要支付任何许可费用。

高度可配置:Jenkins非常灵活,可以通过安装各种插件来扩展其功能,以满足特定项目的需求。有超过一千种插件可用,涵盖从构建到部署的各个方面。

跨平台支持:Jenkins可以在多种操作系统上运行,包括Windows、Linux和macOS等。

社区支持强大:由于Jenkins拥有庞大的用户群,因此有大量的文档、教程以及活跃的社区支持,这对于新用户来说是一个巨大的优势。

易于集成:Jenkins很容易与现有的系统和服务进行集成,比如版本控制系统(Git, SVN)、代码质量工具(SonarQube)、通知服务(Slack, Email)等。

自动化能力:通过设置构建触发器,Jenkins可以根据需要自动执行构建任务,例如当代码库发生变化时。

分布式构建支持:对于大型项目,Jenkins允许将工作负载分散到多台机器上,从而加速构建过程。

用户界面友好:虽然主要是基于Web的管理界面,但Jenkins提供了一个直观易用的UI,让非技术背景的人员也能轻松上手。

解决了哪些痛点:

手动错误减少:通过自动化测试和部署流程,减少了人为因素导致的错误。

提高效率:自动化构建、测试及部署加快了产品迭代速度,使得团队能够更快地发布更新。

增强协作:集成的特性促进了开发者之间的沟通与合作,确保每个人都了解项目的最新状态。

持续反馈:快速得到关于代码变更影响的信息,有助于及时发现并解决问题。

资源优化:利用分布式的架构有效利用计算资源,避免单一服务器成为瓶颈。

标准化流程:定义明确的工作流帮助组织实现一致性和标准化,降低了不同团队或成员之间操作方式不统一的风险。

2. 如何使用 Jenkins

2.1 安装要求

按照官方的说法,您需要:

机器要求:

256 MB 内存,建议大于 512 MB

10 GB 的硬盘空间(用于 Jenkins 和 Docker 镜像)

需要安装以下软件:

Java 8或者 Java11 ( 建议最好装一个 java11 因为高版本的 jenkins 必须得 java11)

Docker (本次演示没有使用docker,仅用到了maven和jdk)

2.2 下载并运行 Jenkins

https://get.jenkins.io/war-stable/

由于我本地安装的是 java11 所以Jenkins选择2.414.3这个版本

如果你也是 java11 直接点击这里

我们可以看到Jenkins的包是一个 war 包,它有两种启动方式:一种是将 war 包方到 tomcat 中启动,一种是直接启动,下面我演示直接启动的方式

启动:

java -jar jenkins.war --httpPort=8080.

看到如下日志代表启动成功

访问:http://localhost:8080

看上图让我们输入密码,它说密码已经保存到服务器上 地址已经给你标到了下面,我们去这个地址下的initialAdminPassword文件复制密码(或者在日志输出也会打印)

输入密码后: (这里选哪个都可以 我选择安装推荐的插件)

注意:如果按照插件过程中出现这个错误:jenkins安装报错:No such plugin: cloudbees-folder 请看这个文章(作者写的很详细):https://blog.csdn.net/weixin_46627652/article/details/135432470

然后创建用户并且完成

3. 如何使用jenkins部署java项目

3.1 安装插件

部署项目的三个必要的插件

Maven Integration:Maven 构建工具

Publish Over SSH:整个工具,将来把 Jenkins 打包好的 jar 上传到应用服务器上。

Gitee:协助使用 Gitee 仓库

从这里搜索安装

3.2 配置 jdk 和 maven

在系统管理中找到全局工具配置

maven:

jdk:

3.3 Publish Over SSH凭证配置和Gitee配置

进入系统管理 —> 系统配置

SSH:

往下拉找到 Publish Over SSH,然后点击新增,开始配置,Hostname 位置填写你服务器的域名或者 IP

这里有个注意点:我使用的是本地电脑(mac),通过 ssh 连接的话需要打开一下电脑的远程登录

点击下方的测试,success 代码可以成功连接

Gitee:

我们这里以 gitee 的远程仓库为示例,配置 gitee 的凭证

准备工作:从 https://gitee.com/profile/personal_access_tokens 获取私人令牌(没有则创建)

第一步填写地址:

第二步添加令牌:

类型选 Gitee Api 令牌

填写从 gitee 上获取到的令牌

添加成功后 点击测试连接

3.4 新建任务,配置任务

点击左侧菜单-->新建任务

我们先创建一个简单的 maven 项目

然后选择源码管理 --> 然后选择 git

填写仓库 url 和用户名密码

配置构建命令:

注意⚠️:这里我将maven的构建命令改为了 :clean package -Dmaven.test.skip=true 避免执行测试类

配置Post Steps: 选择第一个 仅在成功时运行

配置ssh去执行拷贝和启动命令

配置要构建的文件路径和启动命令等:

这里容易出错,解释一下上面的字段:

Name:选择要上传的服务器,也就是我们在 3.3 Publish Over SSH中的配置

Source files:要上传的文件,也就是我们jar包在项目中的位置,一般都是target/ 下

Remove prefix:要排除的前缀

Remote directory:要拷贝的目录位置,是基于我们在3.3 Publish Over SSH中配置的路径下

Exec command:执行的启动jar包的命令

开启操作日志:

至此,整个配置工作就完成啦 ~

记得点击保存哦~

大功告成,看成效

3.5 构建项目

回到桌面,找到我们创建的任务点进去

点击立即构建 点击查看日志

可以看到构建成功

下面是ssh去启动项目的日志 也可以看到springboot的启动日志

然后查看我们的目录,可以看见jar包也被拷贝到了对应的目录下

One more thing

如果你穿漂亮的衣服,人们会认为你在炫耀。

如果你穿简单的衣服,人们会认为你很穷。

如果你直言不讳,你会很粗鲁。

如果你保持沉默,那么你就是懦夫。

如果你成功了,那么你就是傲慢的。

如果你在挣扎,那么你就是懒惰的。

无论你在生活中做什么,人们总是有话要说。

所以,忽略人们和他们的意见。

因为只要上帝对你满意,谁在乎别人怎么想。

相关内容

《泰拉瑞亚》手机版沙枪介绍
beat365app下载官网

《泰拉瑞亚》手机版沙枪介绍

📅 01-09 👁️ 5037
DNF忍者爆发神话排名
365bet安卓

DNF忍者爆发神话排名

📅 08-28 👁️ 5743
4000mAh大容量电池 华为Mate 8续航测试
365bet安卓

4000mAh大容量电池 华为Mate 8续航测试

📅 07-02 👁️ 5739