Jenkins构建项目并部署到K8S实践

本文详述了如何使用Jenkins将悟空CRM9.0项目从gitee克隆、构建并部署到Kubernetes集群。首先,介绍了环境准备,包括Gitlab项目创建、Docker安装MySQL和Redis。接着,详细阐述了K8S中master节点的设置,如Docker镜像构建目录和Dockerfile创建。然后,讲解了Jenkins的构建任务设置,包括源码管理、构建环境和后置操作。最后,展示了构建执行、查看构建历史以及系统登录的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次实践使用gitee上的开源项目悟空CRM9.0进行构建并部署到k8S中
悟空CRM9.0项目简介:
悟空CRM-基于jfinal+vue+ElementUI的前后端分离CRM系统。
项目gitee地址:https://gitee.com/wukongcrm/72crm-java.git

一、环境准备

1.1 部署环境说明

软件 版本 IP 备注
K8S 1.26.x 192.168.1.124 192.168.1.124为K8S集群master01节点IP地址
Harbor 2.6.2 192.168.1.201 镜像仓库,用于存放构建的容器镜像
Docker 23.01 192.168.1.124 docker安装在K8S的master节点,方便进行管理并设置登录Harbor
Mysql 5.7 192.168.1.94 存放业务数据
Redis 7.0.10 192.168.1.99 高速缓存
Gitlab latest 192.168.1.98 源代码仓库

注:K8S,Harbor,Docker,Gitlab均需要提前安装好

1.2 克隆开源项目到本地

输入克隆命令开源项目克隆到本地:

命令:git clone https://gitee.com/wukongcrm/72crm-java.git

在这里插入图片描述

在这里插入图片描述

1.3 Gitlab中创建空项目

点击新建项目
在这里插入图片描述

选择创建空白项目
在这里插入图片描述

输入项目名称,项目URL中选择组或用户,点击新建项目。
在这里插入图片描述

在这里插入图片描述

1.4 上传项目到Gitlab中

下载空项目到本地
在这里插入图片描述

将下载的开源项目源代码复制到空项目的文件夹中
在这里插入图片描述

上传到gitlab仓库中
在这里插入图片描述

命令解析:
git add . #将当前目录下的文件添加到缓存中
git commit -m '注释内容' #添加提交的代码的内容
git push #将代码推送上传到gitlab仓库中

在gitlab中查看上传的项目源代码
在这里插入图片描述

1.5 Docker安装mysql5.7

#采用Mysql 5.7存放业务数据,建议设置数据持久化;
#创建挂载目录
mkdir -p /opt/mysql5.7_data/{
   conf,logs,data}
mkdir -p /opt/mysql5.7_data/conf/{
   conf.d,mysql.conf.d}

#给新创建的文件赋予权限
chmod -R 777  /opt/mysql5.7_data/*

#创建mysql配置文件
vi /opt/mysql5.7_data/conf/my.cnf

#主要修改以下几项
[mysqld]
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=root
pid-file=/var/run/mysqld/mysqld.pid
log-error=/tmp/mysqld.log
character-set-server=utf8              
`boost::asio::io_service`是Boost库中的一个核心类,用于提供异步I/O操作的事件循环机制。它是实现异步网络编程的基础,可用于处理各种网络通信任务。 `boost::asio::io_service`的主要作用是管理和调度异步操作。它负责处理事件循环,监视和分发I/O事件,以及执行注册的回调函数。通过使用`io_service`对象,可以实现非阻塞式的异步I/O编程,提高程序的并发性和响应性。 以下是`boost::asio::io_service`类的常见用法示例: ```cpp #include <boost/asio.hpp> void handleRead(const boost::system::error_code& error, std::size_t bytes_transferred) { if (!error) { // 处理读取数据的回调逻辑 } else { // 处理错误情况 } } int main() { boost::asio::io_service io_service; // 创建一个socket对象 boost::asio::ip::tcp::socket socket(io_service); // 连接到服务器 socket.connect(endpoint); // 异步读取数据 boost::asio::async_read(socket, boost::asio::buffer(buffer), handleRead); // 开始事件循环 io_service.run(); return 0; } ``` 在上述示例中,首先创建了一个`io_service`对象,然后创建了一个TCP socket对象,并使用`io_service`对象进行异步读取操作。在`async_read`函数中,指定了一个回调函数`handleRead`,用于处理读取数据完成后的回调逻辑。 最后,通过调用`io_service`的`run()`函数启动事件循环,使程序进入等待事件的状态。在事件循环中,`io_service`会断地监视和分发I/O事件,并执行注册的回调函数。 使用`boost::asio::io_service`,可以方便地实现异步的网络编程,处理各种I/O操作,如读取、写入、连接、接收等。它提供了高度灵活和可扩展的方式来构建异步应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值