jenkins集成工具(一)部署php项目

目录

什么是CI 、CD

Jenkins集成工具

一、Jenkins介绍

二、jenkins的安装和部署

环境部署

安装jenkins

安装gitlab

配置镜像源进行安装

修改密码

安装git工具

上传测试代码

Jenkins部署php项目wordpress

发布php代码

安装插件

测试代码发布

实现发布成功发送邮件通知

利用脚本部署lnmp环境

部署脚本

上传gitlab

发布执行

jenkins结合ansible修改配置文件

安装ansible

编写主机清单

编写jinjia2模板文件

编写playbook文件

测试结果


什么是CI 、CD

CI 、CD一般包含三个概念:持续集成(Continuous Integration ,CI),持续交付(Continuous Delivery),持续部署(Continuous Deploy

  1. 持续集成(CI):

开发人员频繁地将代码集成到共享的代码库中。每次集成都会触发自动化的构建和测试过程。例如,使用工具如 Jenkins、GitLab CI 等,当开发人员将新代码推送至代码仓库时,CI 系统会自动拉取代码,安装依赖项,编译代码,并运行一系列测试用例。如果测试失败,开发人员会立即收到反馈,以便及时修复问题。

  1. 持续交付(CD):

是在持续集成的基础上,确保软件产品可以随时被部署到生产环境或类生产环境。它强调的是软件发布过程的自动化和可重复性,包括从测试环境到预生产环境等各个环节的交付准备,使得软件能够以一种可靠、高效的方式从开发阶段顺利进入发布阶段,但在持续交付中,最终的部署到生产环境可能仍需要人工审批等操作。

  1. 持续部署(CD

可以看作是持续交付的进一步延伸。在持续部署中,一旦代码通过了所有的自动化测试环节,就会自动地部署到生产环境,不需要人工干预。这能够实现软件更新的最快速发布,让新功能和修复能够更快地到达用户手中。

了解到了一个它的基本概念下面学习jenkins集成工具

Jenkins集成工具

持续集成的特点:

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

一、Jenkins介绍

Jenkins 原名 Hudson,2011 年修改为 Jenkins,它是一个开源的实现软件持续集成的工具。

官网地址:https://www.jenkins.io/

Jenkins工具的优点:

  1. 易安装:官网下载直接运行
  2. 易配置:提供了友好的 GUI 配置界面
  3. 变更支持:能从代码仓库中获取并产生代码更新列表,输出到编译输出信息
  4. 支持永久链接:用户是通过 Web 来访问 Jenkins 的,而这些 Web 界面的链接地址是可以一直存在的
  5. 支持第三方插件
  6. 能实时监控集成中存在的错误,提供详细的日志文件和提醒功能,还可以用图表的形式形象的展示项目构建的趋势和稳定性。

二、jenkins的安装和部署

这里我们使用centos7进行部署,但要注意centos7已经停止了维护,但是我们只是初步的学习,所以使用centos7依旧可行

还要注意一点的是jenkins是由java开发的工具,所以他需要jdk环境,并且他需要做版本的适配,可见官网

Redhat Jenkins 软件包

环境部署

主机名

IP

角色

web01

192.168.143.162

部署服务的机器

web02

192.168.143.163

Gitlab服务器

web03

192.168.143.164

Jenkins服务器

安装jenkins

在web03上安装jenkins

配置jenkins的源,可按官方进行配置

​
[root@web03 ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

[root@web03 ~]#  rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key

[root@web03 ~]# yum install -y fontconfig

[root@web03 ~]# yum install -y Jenkins

​

可以看到我这里安装的是2.479的版本,所以下面配置jdk需要17或21

这里需要去官网下载jdk传入web03,因为centos yum安装现在最高只支持11,如果你不想手动配置环境,可以指定下载jenkins,让他适配jdk11就行或者下载rpm包使用yum安装也ok

这里安装jdk 21

[root@web03 ~]# ls

anaconda-ks.cfg  jdk-21_linux-x64_bin.rpm

[root@web03 ~]# yum install -y jdk-21_linux-x64_bin.rpm

查看版本和执行路径

[root@web03 ~]# java --version

java 21.0.5 2024-10-15 LTS

Java(TM) SE Runtime Environment (build 21.0.5+9-LTS-239)

Java HotSpot(TM) 64-Bit Server VM (build 21.0.5+9-LTS-239, mixed mode, sharing)

[root@web03 ~]# which java

/usr/bin/java

启动jenkins

[root@web03 ~]# systemctl start jenkins

[root@web03 ~]# yum install net-tools

记得关闭防火墙

[root@web03 ~]# systemctl stop firewalld

[root@web03 ~]# systemctl disable firewalld

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

查看8080端口是否启动

[root@web03 ~]# netstat -ntlp

可以看到端口已经起来了

浏览器登录

[root@web03 ~]# cat /var/lib/jenkins/secrets/initialAdminPassword

选择哪一个都可以

这里我选择自定义安装,根据我后续的任务安装对应的插件

选择

自定义创建

安装gitlab

Gitlab是企业常用的远程私有仓库,像这样的远程仓库还有github,gitee等,都能实现对代码的拉取与上传

配置镜像源进行安装

在web02上安装github

配置github镜像源

[root@web02 ~]# cat /etc/yum.repos.d/gitlab.repo

[gitlab-ce]

name=Gitlab CE Repository

baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/

gpgcheck=0

enabled=1

yum安装

[root@web02 ~]# yum install -y gitlab-ce

安装完成后进行自动配置

[root@web02 ~]#  gitlab-ctl reconfigure

# 启动githlab

[root@web02 ~]# gitlab-ctl start

用浏览器访问

端口一般为80或者443

如果出现这个界面,但是报错502,说明是后端其他服务没起来,可能是内存或者磁盘太少导致。最明显的感受就是配置完gitlab,敲命令都非常卡顿,这个时候去虚拟机关机给服务器扩展内存和磁盘就行

扩展后

重新启动服务

Gitlab服务基础命令

gitlab-ctl start        启动gitlab服务

gitlab-ctl stop         关闭gitlab服务

gitlab-ctl restart      重启gitlab服务

出现登录界面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值