自动化运维之Jenkins 与 Git 实战(二)(Jenkins and Git Practice in Automated Operations and Maintenance Part 2)

 💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

本人主要分享计算机核心技术:系统维护、数据库、网络安全、自动化运维、容器技术、云计算、人工智能、运维开发、算法结构、物联网、JAVA 、Python、PHP、C、C++等。
不同类型针对性训练,提升逻辑思维,剑指大厂,非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。

自动化运维之Jenkins Git 实战(二)
4.1 案例分析

4.1.1 案例概述

在前面的 Jenkins 课程中,更多强调的是 Jenkins 使用和项目部署,而本章将结合新项
目来实现自动化构建及发布,并将项目打包成镜像上传到私有仓库,来实现一键发布、回滚
等操作。

4.1.2 案例前置知识点

1. Jenkins 介绍

原名 Hudson,2011 年改为现在的名字,它是一个开源的实现持续集成与发布
的软件工具。官方网站:https://jenkins.io/是一个开源的自动化服务器,广泛用于持续集成和持续交付(CI/CD)领域。它允许开发团队自动化各种任务,包括构建、测试和部署应用程序。Git则是一个分布式版本控制系统,用于管理软件开发过程中的代码变更。将Jenkins与Git结合使用,可以实现代码的自动化构建、测试和部署,从而提高软件开发和运维的效率。

在自动化运维的实践中,Jenkins与Git的结合可以带来诸多好处。例如,通过Jenkins的自动化脚本,可以定期从Git仓库中拉取最新的代码进行构建,执行自动化测试,并在测试通过后自动部署到生产环境。这种做法不仅减少了手动操作的错误,还加快了软件的发布周期。此外,Jenkins的插件机制使得它可以轻松集成各种工具和服务,包括代码质量检查工具、性能测试工具等,进一步增强了其功能。

在实际操作中,开发人员可以通过安装特定的Jenkins插件来增强与Git的集成能力。例如,安装Git参数插件可以使Jenkins在构建过程中接受Git标签作为输入,从而实现更加灵活的构建和部署策略。此外,通过Jenkins的流水线配置,可以定义一系列有序的操作,包括代码检查、构建、测试和部署,确保每个阶段都按照预定的标准进行,从而提高了软件的质量和可靠性。

2. Maven 介绍

Maven 是一个软件项目管理及自动构建工具,由 Apache 软件基金会所提供。基于项
目对象模型(缩写:POM)概念,Maven 利用一个中央信息片断来管理一个项目的构建、
报告和文档等步骤

3. Docker 介绍

Docker 是一个开源的容器应用引擎,让开发者可以打包他们的应用及依赖包到任意一
个可移植的镜像中,然后发布到任何一个流行的 Linux 机器上。

4. Ansible 介绍

Ansible 是一种自动化运维工具,基于 Python 开发,实现了批量系统配置、批量程序
部署、批量运行命令等功能。

4.1.3 案例环境

1. 本案例环境

本章案例共使用三台服务器,每台服务器担任不同的服务角色,最后通过配置 Jenkins
实现自动打包部署 Java 项目。案例实验环境如表 4-1 所示。
4-1 Git+Jenkins 基本环境
主机 操作系统 主机名/IP 地址 主要软件及版本
服务器 CentOS 7.3-x86_64 jenkins/192.168.8.217 Jenkins/Docker
服务器 CentOS 7.3-x86_64 docker/192.168.8.218 Docker
服务器 CentOS 7.3-x86_64 repository/192.168.8.219 Git/Docker registry

2. 案例拓扑

实验拓扑如图 4.1 所示。 图 4.1 实验拓扑
如图 4.1 所示,开发者将开发完成的代码提交到 Git 代码仓库,Jenkins 自动拉取编译
构建,并自动部署到 Web 服务器。

3. 案例需求

开发者将代码提交到 Git 代码仓库后,实现 Jenkins 自动拉取代码编译构建,并自动部
署到 Web 服务器,用户可以访问最新版本的项目程序。

4. 实现思路

1)通过 Git 版本控制系统存放项目代码。
(2)使用 Jenkins 自动化部署项目。
3)基于 Docker 引擎创建项目容器。
4)使用 Ansible 集中管理 Web 服务器。

4.2 案例实施

4.2.1 准备 Git 仓库

Git 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目
版本管理问题,是目前企业中使用最为广泛的代码版本管理系统。

1. 使用 YUM 安装并配置 Git

三台主机都需要修改主机名、关闭防火墙和禁用 SELinux。在 repository 主机上,安装
Git,并配置 Git 用户。

(1)安装 Git

[root@repository ~]# yum install git -y

(2)创建 Git 用户并设置密码

[root@repository ~]# useradd git
[root@repository ~]# passwd git

//输入两次要设置的密码

2. 配置 Jenkins 主机免交互拉取 Git 仓库

Jenkins 主机上创建密钥对,将 id_rsa.pub 内容追加到 Git 服务器上的
/home/git/.ssh/authorized_keys 文件中。
[root@jenkins ~]# ssh-keygen
//一路回车即可
[root@jenkins ~]# ssh-copy-id [email protected]测试免交互登录。
[root@jenkins ~]# ssh [email protected]

4.2.2 准备 Jenkins 环境

Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于代码编译、
部署、测试等工作。 Jenkins 也是一个跨平台的集成工具,大多数主流平台都支持,而且
安装简单。这里,将以 war 包方式安装部署。

(1)Java 环境安装

在安装 Jenkins 之前,需要具备 Java 环境。Java 环境的安装方式如下所示。
[root@jenkins ~]# tar zxf jdk-8u202-linux-x64.tar.gz
[root@jenkins ~]# mv jdk1.8.0_202 /usr/local/java
[root@jenkins ~]# vim /etc/profile
export JAVA_HOME=/usr/local/java
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
[root@jenkins ~]# source /etc/profile
[root@jenkins ~]# java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

(2)在 Tomcat 环境下,部署 Jenkins

[root@jenkins ~]# tar zxf apache-tomcat-8.5.56.tar.gz
[root@jenkins ~]# mv apache-tomcat-8.5.56 /usr/local/tomcat
//先将 jenkins.war 软件包上传到/usr/local/tomcat/webapps 目录中
[root@jenkins ~]# cd /usr/local/tomcat/bin/
[root@jenkins ~]# ./startup.sh
在浏览器中输入 http://192.168.8.217:8080/jenkins/ 进入 Jenkins 部署页面,如图 4.2
所示。
图 4.2 解锁 jenkins
Jenkins 主机上,查看/root/.jenkins/secrets/initialAdminPassword 文件,获取管理
员密码,将获取的密码输入管理员密码输入框内。然后,单击继续按钮,进入自定义
Jenkins 插件安装界面,如图 4.3 所示。
图 4.3 自定义 Jenkins 插件安装
单击安装推荐的插件按钮,进入插件安装界面。等待插件安装完成后,进入管理员账
户配置界面,并进行如图 4.4 所示配置。
图 4.4 管理员设置
完成管理员用户配置后,点击“保存并完成按钮。最后,单击开始使用 Jenkins”,进入
Jenkins 首页,如图 4.5 所示。
图 4.5 Jenkins 首页

4.2.3 基于 Jenkins+Git+Docker 发布 Java 项目

1. 安装 Docker 服务

在三台主机上,分别执行以下操作。
[root@docker ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 //安装依赖包
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux运维老纪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值