【云原生 • DevOps】一文掌握持续集成工具 Jenkins

这篇具有很好参考价值的文章主要介绍了【云原生 • DevOps】一文掌握持续集成工具 Jenkins。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

目录

一、持续集成工具 Jenkins 介绍

1. 什么是持续集成

2. Jenkins 介绍

二、Jenkins 的安装与部署

1. 安装 Jenkins

2. 本地访问 Jenkins

3. 插件的安装

4. 卸载 Jenkins

三、Jenkins 全局配置

1. Git 的安装与配置

2. JDK 的安装与配置

3. maven 的安装与配置

三、将代码上传至 Git 服务器

1. Gogs 的搭建与配置

2. 将本地代码上传至 Gogs 的仓库

四、任务的创建与执行


一、持续集成工具 Jenkins 介绍

1. 什么是持续集成

持续集成(Continuous Integration,CI)。随着软件开发复杂度的不断提高,如何更好的协同开发以确保软件开发质量已经成为了开发团队所追求的目标,特别是近年来 “敏捷开发” 在互联网领域的兴起,如何能够在不断变化的需求中快速适应和保证开发质量显得尤为重要。

持续集成就是针对这类问题的一种软件开发实践,倡导团队必须经常集成他们的工作,而每次的集成都是通过自动化的构建来验证的,包括自动编译、发布、测试,从而更快发现集成错误,让团队更快的开发内聚的软件。

持续集成具有以下特点:

  • 是一个自动化的周期性的集成测试过程,从检出代码、编译构建、运行测试,再到结果记录、测试统计等都是自动完成,无需人工干预
  • 需要有专门的集成服务器来执行集成构建
  • 需要有代码托管工具支持

持续集成的出现,保证开发团队交代码的质量,减轻了软件发布时的压力;其次就是全程自动完成,无需太多人工干预,极大的减少了重复的过程,节省了时间、工作量和成本。

2. Jenkins 介绍

Jenkins 原名 Hudson,2011 年修改为 Jenkins,它是一个开源的实现软件持续集成的工具。官网地址如下(也有中文网址):

JenkinsJenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their softwarehttps://www.jenkins.io/

Jenkins 能实时监控集成中存在的错误,提供详细的日志文件和提醒功能,还可以用图表的形式形象的展示项目构建的趋势和稳定性。

Jenkins 具有以下特点:

  • 易安装:官网下载直接运行
  • 易配置:提供了友好的 GUI 配置界面
  • 变更支持:能从代码仓库中获取并产生代码更新列表,输出到编译输出信息
  • 支持永久链接:用户是通过 Web 来访问 Jenkins 的,而这些 Web 界面的链接地址是永久的,可在任何文档中直接使用
  • 集成 E-mail/RSS/IM
  • JUnit/Test NG 测试报告:以图表形式提供测试报告
  • 文件指纹信息:会保存哪次集成构建产生了哪些 jars 文件,哪次集成使用了哪个版本的 jars 文件等记录
  • 支持第三方插件

二、Jenkins 的安装与部署

1. 安装 Jenkins

第一步,下载 Jenkins 安装包,打开Jenkins 官方文档;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

点击 “Installing Jenkins”,可以看到可供下载的各个版本;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

选择 Linux(演示虚拟机为 CentOS 系统)下的 CentOS 系统;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

可以看到官方提供的在线安装方式;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

打开 Xhell 并连接虚拟机/服务器,按照以下步骤进行下载;

# 下载镜像
wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo

# 安装
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

# 更新
yum upgrade
 
# 安装 Java 环境
yum install java-11-openjdk

#安装 Jenkins
yum install jenkins

2. 本地访问 Jenkins

Jenkins 安装完成之后,就可以使用 虚拟机/服务器IP:端口 在本地进行访问了,初始界面如下;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

根据提示密码存于 /var/lib/jenkins/secrets/initialAdminPassword 目录中;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

输入密码后进入如下界面;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

我们选择安装推荐的插件,Jenkins 便会开始自动下载安装,如下正在安装;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

安装完成后,创建我们的第一个用户;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

进入 Jenkins 主页如下;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

3. 插件的安装

使用推荐安装方式只能帮我们安装一部分最为常用的插件,有某些插件如 maven 等还是需要我们手动去安装的。

点击 “系统管理” --> “插件管理”;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

在这里可以看到我们需要的插件,按需下载即可;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

4. 卸载 Jenkins

# rpm卸载Jenkins
rpm -e jenkins

# 检查是否卸载成功
rpm -ql jenkins

# 彻底删除残留文件
find / -iname jenkins | xargs -n 1000 rm -rf

三、Jenkins 全局配置

全局配置的目的在于告诉 Jenkins 各种工具的路径在何处,使得 Jenkins 能够通过插件来调用这些软件。我们这里均采用下载压缩包然后上传虚拟机/服务器的方式进行演示。

点击“系统管理” --> “全局配置”,可以看到需要配置的插件,需要配置的有 jdk、git、maven 工具;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

1. Git 的安装与配置

(直接使用 yum 命令安装虽然更为简单但版本会很低,为防止今后报错所以推荐此方式安装) 

首先下载 git 压缩包并上传至虚拟机/服务器;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

按照以下步骤进行操作;

#1.解压压缩包
tar -zxvf git-2.27.0.tar.gz

#2.在Linux系统中是需要编译源码的,首先下载所需要的依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

#3.卸载旧版本的 git(安装依赖是会自动安装 git,所以需要卸载旧版本)
yum -y remove git

#4.进入解压后的文件夹
cd git-2.27.0

#5.编译git源码
make prefix=/usr/local/git all

#6.安装git至/usr/local/git路径
make prefix=/usr/local/git install

#7.配置环境变量
vi /etc/profile 
在底部加上该行代码:export PATH=$PATH:/usr/local/git/bin

#8.配置完成后刷新环境变量
source /etc/profile

操作完成之后使用命令 git --version 查看 git 版本,如下 2.27 版本安装成功;

[root@192 git-2.27.0]# git --version
git version 2.27.0

此时我们查看一下 git 路径 which git

[root@192 git-2.27.0]# which git
/usr/local/git/bin/git

使用该路径设置全局配置;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

2. JDK 的安装与配置

下载一个 jdk 的 rpm 包并上传至虚拟机/服务器;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

然后使用命令 rpm -ivh jdk-8u171-linux-x64.rpm 进行安装;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

安装后的根目录为 /usr/java/jdk1.8.0_171-amd64;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

使用此路径设置全局;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

3. maven 的安装与配置

下载 apache-maven .tar.gz 包并上传至虚拟机/服务器;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

解压压缩文件;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

使用此路径及解压后的文件名设置全局;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

全部配置完成之后,点击保存、点击应用。

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

三、将代码上传至 Git 服务器

1. Gogs 的搭建与配置

Gogs 是一款极易搭建的自助 Git 服务,它的目标在于打造一个最简单、快速和轻松的方式搭建 Git 服务。使用 Go 语言开发的它能够通过独立的二进制进行分发,支持了 Go 语言支持的所有平台,包括 Linux、Mac OS、Windows 以及 arm 平台。与传统 Git 相比它最大的优势在于拥有图形化界面

第一步:下载镜像 docker pull gogs/gogs

[root@192 ~]# docker pull gogs/gogs
Using default tag: latest
latest: Pulling from gogs/gogs
97518928ae5f: Pull complete 
d20a5437c0b4: Pull complete 
ec9934e62f5f: Pull complete 
2a880a4f6876: Pull complete 
7bb13647629b: Pull complete 
641b202f48eb: Pull complete 
8f12f9a5cd7d: Pull complete 
Digest: sha256:fbae7c126411d3fa3f8fdca17a65b196887ab23e3b7375f682a13daf5806bb19
Status: Downloaded newer image for gogs/gogs:latest
docker.io/gogs/gogs:latest
[root@192 ~]# 

第二步:创建 Gogs 容器 docker run -di --name=gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs

# 容器名称 gogs

# 端口映射,22 端口映射为 10022,3000 端口映射为 3000

[root@192 ~]# docker run -di --name=gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs
3af9726ff2d9430be43f7f3d78c206b9a53d356347e8a92c23316a7d2e6533f8
[root@192 ~]# 

第三步:在本地浏览器进行访问,初始界面如下; 

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

此处选择数据库类型为 SQLite3

修改域名为 192.168.200.129

修改应用 URL 为 http://192.168.200.129:3000/

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

随后点击“立即安装”,Gogs 安装与配置完成;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

2. 将本地代码上传至 Gogs 的仓库

首先我们创建一个仓库;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

创建成功后就可以将代码上传至仓库了;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

这里我使用 idea(本地 git 环境已搭建,这里不再赘述)以及一个示例项目演示上传操作;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

选中项目,右键点击 “file” --> “git” --> “Repository” --> “Reomtes”;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

接下来增加远程地址,也就是我们 Gogs 远程仓库的地址;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

此时就可以进行代码上传了,先点击 “Git” --> “Add”,将项目上传至暂存区;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

选择 “git” --> “Repository” --> “push” 进行推送;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

输入用户名和密码登录 Gogs 后即可推送成功;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

此时再次查看 Gogs 中的仓库,可以看到项目已上传至 Gogs 仓库;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

代码上传至 Git 演示成功。

四、任务的创建与执行

登入 Jenkins,点击 “新建 Item”,输入任务名称并选择“构建一个maven项目”;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

点击“确定”,之后我们作出如下配置;

项目描述

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

源码管理

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

build

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

配置完成,点击保存,项目即创建完成; 

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

返回面板,点击按钮执行此任务;

云上 持续集成工具,云原生/云计算 - 入门到实战,开发工具/开发语言,云原生,devops,jenkins,云计算

此操作相当于我们将项目文件的执行过程拿到了 Jenkins 系统当中。文章来源地址https://www.toymoban.com/news/detail-779616.html

到了这里,关于【云原生 • DevOps】一文掌握持续集成工具 Jenkins的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DevOps-Jenkins-CI持续集成操作

    创建个web项目 我这里直接用Spring Web自动生成的demos 启动项目,访问展示如下默认页面信息 在项目下新建docker目录,新增Dockerfile、docker-compose.yml文件 Dockerfile文件,将mytest.jar 复制到容器的/usr/local/目录下,在/usr/local执行命令java -jar mytest.jar docker-compose.yml文件,当前目录以D

    2024年03月13日
    浏览(54)
  • SkyEye与Jenkins的DevOps持续集成解决方案

    在技术飞速发展的当下,随着各行各业的软件逻辑复杂程度提升带来的需求变更,传统测试已无法满足与之相对应的一系列测试任务,有必要引入一个自动化、可持续集成构建的DevOps平台来解决此类问题。本文将主要介绍SkyEye与Jenkins的持续集成解决方案。 何谓DevOps?DevOps是

    2024年02月15日
    浏览(46)
  • 软件测试学习笔记丨持续集成DevOps - Jenkins安装

    本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/30028 通过 war 包安装 通过安装包安装(不推荐) 通过 docker 命令安装(推荐 Linux 环境): docker pull jenkins/jenkins:lts 2.1 ,war包启动(用于调试,不推荐安装): (1), 下载war包后, 进入对应的war下载的目录,通过命令启

    2024年04月09日
    浏览(55)
  • (十六)devops持续集成开发——jenkins流水线构建之邮件通知

    本节内容主要介绍jenkins在流水线任务构建完成后的通知操作,使用jenkins的邮件通知插件完成构建任务结束的通知。一般项目发布都会通知相关的责任人,这样项目发布在出现问题时能够及时的处理。 ①在插件中心安装Email Extension邮件通知插件 ②申请一个发送邮件的邮箱服务

    2024年02月21日
    浏览(63)
  • (十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目

    本节内容我们使用另外一种方式pipeline实现项目的流水线部署发布,Jenkins Pipeline是一种允许以代码方式定义持续集成和持续交付流水线的工具。通过Jenkins Pipeline,可以将整个项目的构建、测试和部署过程以脚本的形式写入Jenkinsfile中,实现对整个流程的可视化管理和控制。在

    2024年02月21日
    浏览(58)
  • 『DevOps最佳实践』使用Jenkins和Harbor进行持续集成和交付的解决方案

    📣读完这篇文章里你能收获到 全文采用图文形式讲解 学会使用Harbor配置项目 学会在Jenkins中配置Harbor推送权限 使用Jenkins和Harbor进行持续集成的实践 感谢点赞+收藏,避免下次找不到~ 在现代软件开发中,自动化部署是提高效率和可靠性的关键。本文将带你深入探索如何使用

    2024年02月08日
    浏览(55)
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用

    本节内容我们主要介绍在Jenkins流水线中,其构建过程中的一些构建策略的配置,例如通过远程http构建、定时任务构建、轮询SCM构建、参数化构建、Git hook钩子触发构建等,可根据不同的需求完成不同构建策略的配置。 - 构建策略说明: - 测试验证 - 构建说明 - 测试验证 - 配置

    2024年02月21日
    浏览(92)
  • golang/云原生/Docker/DevOps/K8S/持续 集成/分布式/etcd 教程

    3-6个月帮助学员掌握golang后端开发岗位必备技术点 教程时长: 150+小时 五大核心专栏,原理+源码+案例分析+项目实战直击工作岗位 golang:解决go语言编程问题 工程组件:解决golang工程化问题 分布式中间件:解决技术栈单一及分布式开发问题 云原生:解决云原生分布式部署及监

    2024年02月07日
    浏览(75)
  • 一文1000字基于Jenkins实现接口自动化持续集成!

    一、JOB项目配置 1、添加描述 可选选项可填可不填 2、限制项目的运行节点 节点中要有运行环境所需的配置 节点配置教程: https://blog.csdn.net/YZL40514131/article/details/131504280 3、源码管理 需要将脚本推送到远程仓库中 4、构建触发器 可以选择定时构建和轮询SCM 定时构建 :根据设

    2024年02月07日
    浏览(43)
  • 云原生系列2-CICD持续集成部署-GitLab和Jenkins

    1、CICD持续集成部署 持续集成:简称 CI 思想:每天要多次将代码合并到主干,并进行集成,测试,这样就可以提早发现错误,进行修正。持续集成也属于DevOps运维开发。 CI持续集成的好处: 1、自动化集成部署,提高了集成效率。 2、更快的修复问题。 3、更快的进行交付。

    2024年02月02日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包