基于jenkins自动化部署PHP环境
实验环境
| 操作系统 | IP地址 | 主机名 | 角色 |
| CentOS7.5 | 192.168.147.141 | git | git服务器 |
| CentOS7.5 | 192.168.147.142 | Jenkins git客户端 | jenkins服务器 |
| CentOS7.5 | 192.168.147.143 | web | web服务器 |
具体环境配置见上一篇!
准备git仓库
[root@git ~]# su - git
上一次登录:三 8月 23 20:41:53 CST 2023pts/0 上
[git@git ~]$ mkdir php.git
[git@git ~]$ cd php.git
[git@git php.git]$ git --bare init
初始化空的 Git 版本库于 /home/git/php.git/
[git@git php.git]$ exit
登出
上传代码到仓库
[root@git ~]# git clone git@192.168.147.141:/home/git/php.git
正克隆到 'php'...
git@192.168.200.111's password:
warning: 您似乎克隆了一个空版本库。
[root@git ~]# cd php/
[root@git php]# cat << EOF > index.php
<?php
phpinfo();
?>
EOF
[root@git php]# git add .
[root@git php]# git commit -m "all"
[master(根提交) 4ec0ba3] all1 file changed, 3 insertions(+)create mode 100644 index.php
[root@git php]# git push origin master
git@192.168.147.141's password:
Counting objects: 3, done.
Writing objects: 100% (3/3), 218 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@192.168.147.141:/home/git/php.git* [new branch] master -> master
部署web主机环境
[root@web ~]# yum install -y httpd mariadb-server mariadb mariadb-devel php php-mbstring php-mysql php-bcmath php-gd php-xmlrpc php-ldap php-xml libevent libevent-devel net-snmp net-snmp-devel libxml2 libxml2-devel ntpdate
[root@web ~]# systemctl start httpd
[root@web ~]# systemctl start mariadb

Jenkins主机将密钥发布到web主机
[root@jenkins ~]# su -s /bin/bash jenkins
bash-4.2$ ssh-keygen
bash-4.2$ ssh-copy-id root@192.168.147.143
基于rsync部署
创建一个Freestyle project


build Now
[root@jenkins ~]# rpm -ivh epel-release-latest-7.noarch.rpm
[root@jenkins ~]# yum -y install ansible
[root@jenkins ~]# vim /etc/ansible/hosts
[webserver]
192.168.147.143
修改jenkins运行用户
[root@jenkins ~]# vim /etc/sysconfig/jenkins
JENKINS_USER="root"
[root@jenkins ~]# jenkins restart
添加Ansible插件




[root@web ~]# cat /var/www/html/php-ansible/index.php
<?php
phpinfo();
?>


相关文章:
基于jenkins自动化部署PHP环境
实验环境 操作系统 IP地址 主机名 角色 CentOS7.5 192.168.147.141 git git服务器 CentOS7.5 192.168.147.142 Jenkins git客户端 jenkins服务器 CentOS7.5 192.168.147.143 web web服务器 具体环境配置见上一篇! 准备git仓库 [rootgit ~]# su -…...
数据库表结构导出为word、html、markdown【转载,已解决,已验证,开源】
注:本文为gitcode代码验证,转载gitcode gitcode:https://gitcode.net/mirrors/pingfangushi/screw?utm_sourcecsdn_github_accelerator 整理数据库文档:https://mp.weixin.qq.com/s/Bo_U5_cl82hfQ6GmRs2vtA <!--数据库文档核…...
【计算机视觉|生成对抗】用于高保真自然图像合成的大规模GAN训练用于高保真自然图像合成的大规模GAN训练(BigGAN)
本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题:Large Scale GAN Training for High Fidelity Natural Image Synthesis 链接:[1809.11096] Large Scale GAN Training for High Fidelity Natural Image Synthesis (arxiv.org…...
三维重建_体素重建_空间雕刻法/体素着色法
目录 1. 三角化和体素重建的区别 2. 空间雕刻法 空间雕刻法的一致性定义 空间雕刻法具体实现 基于八叉树的空间雕刻法具体实现编辑 空间雕刻法效果展示 3. 体素着色法 体素着色法的缺点:不唯一性编辑 体素着色法不唯一性解决措施编辑 体素着色发实验环境与…...
4-redis哨兵搭建安装
1.先决条件 1.1.OS基础配置 CentOS为了能够正常安装redis,需要对CentOS进行常规的一些基础配置,主要有:关闭防火墙与selinux,设置主机名,配置虚拟机IP地址使其能够与外网ping通,配置IP地址与主机名映射,配置yum源。具体配置参见: Linux常规基础配置_小黑要上天的博客…...
架构评估-架构师之路(十二)
软件系统质量属性 软件系统质量熟悉分为 开发期质量属性 和 运行期质量属性。 质量属性 性能:指 系统的响应能力,如 响应时间,吞吐率。 设计策略:优先级队列、增加计算资源、减少计算开销、引入并发机制、采用资源调度。 可靠…...
手写模拟SpringBoot核心流程(二):实现Tomcat和Jetty的切换
实现Tomcat和Jetty的切换 前言 上一篇文章我们聊到,SpringBoot中内置了web服务器,包括Tomcat、Jetty,并且实现了SpringBoot启动Tomcat的流程。 那么SpringBoot怎样自动切换成Jetty服务器呢? 接下来我们继续学习如何实现Tomcat…...
Python土力学与基础工程计算.PDF-土的三项组成
5.3 Python求解 Python 求解代码如下: 1. # 定义已知参数 2. G_s 2.7 # 比重 3. w 0.2 # 含水量 4. e 0.6 # 孔隙比 5. gamma_w 9.81 # 水的重度 6. 7. # 根据公式计算饱和度 8. S_r G_s * w / e 9. print("饱和度为", S_r) 10. 11.…...
危化安全生产信息化平台在煤化领域的应用
一、背景介绍 煤化工行业是一个集煤炭、石油、化工等多种产业于一体的综合性行业,其特点是工艺流程复杂、设备繁多、安全隐患大。近年来,随着煤化工行业的快速发展,安全生产问题日益凸显。为了有效提高危化安全生产水平,某煤化工…...
Linux(CentOS)运维脚本工具集合
使用说明 备份指定目录 # 备份指定目录文件到指定目录,备份文件名称为:备份目录最后一层目录"_"日期.tar.gz # 第一个参数:backdir 第二参数:备份文件保存目录 第三个参数:备份目录/文件 sh script.sh backdir /root/…...
【Java alibabahutool】JSON、Map、实体对象间的相互转换
首先要知道三者的互转关系,可以先将JSON理解成是String类型。这篇博文主要是记录阿里巴巴的JSONObject的两个方法。toJSONString()以及parseObject()方法。顺便巩固Map与实体对象的转换技巧。 引入依赖 <!-- 阿里巴巴 JSON转换 以下二选一即可 没有去细研究两者…...
按软件开发阶段的角度划分:单元测试、集成测试、系统测试、验收测试
1.单元测试(Unit Testing) 单元测试,又称模块测试。对软件的组成单位进行测试,其目的是检验软件基本组成单位的正确性。测试的对象是软件里测试的最小单位:模块。 测试阶段:编码后或者编码前(…...
【python】Leetcode(primer-dict-list)
文章目录 260. 只出现一次的数字 III(字典 / 位运算)136. 只出现一次的数字(字典)137. 只出现一次的数字 II(字典)169. 求众数(字典)229. 求众数 II(字典)200…...
网络安全(黑客)入门
想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客! 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全…...
在CSS中,盒模型中的padding、border、margin是什么意思?
在CSS中,盒模型(Box Model)是用来描述和布局HTML元素的基本概念。它将每个HTML元素看作是一个矩形的盒子,这个盒子包括了内容(content)、内边距(padding)、边框(border&a…...
有线耳机插入电脑没声音
有线耳机插入电脑没声音 首先确保耳机和电脑都没问题,那就有可能是声音输出设备设置错误 右击任务栏的声音图标-打开声音设置-选择输出设备。...
【面试 反思】Retrofit源码与设计 7 连问
前言 在实际项目中往往是使用Retrofit来做网络请求工作。Retrofit采用RESTful风格,本质上只是对OkHttp进行封装,今天我们根据几个问题来进一步学习一下Retrofit的源码与设计思想。 1. 使用方法 直接看一下官方介绍的使用方法。 public final class S…...
flutter 雷达图
通过CustomPainter自定义雷达图 效果如下 主要代码 import package:flutter/material.dart; import dart:math; import dash_painter.dart; import model/charts_model.dart;class RadarChart extends StatelessWidget {final List<ChartModel> list;final double maxV…...
机器学习之损失函数(Loss Function)
损失函数(Loss Function)是机器学习和深度学习中的关键概念,它用于衡量模型的预测与实际目标之间的差异或误差。损失函数的选择对于模型的训练和性能评估至关重要,不同的任务和问题通常需要不同的损失函数。 以下是一些常见的损失…...
创邻科技张晨:图数据库,激活数据要素的新基建
“数据经济时代,数据要素产业链的各细分领域均蕴含机遇,图技术作为网络协同和数据智能的底层发动机,将深度掘金数字中国价值潜能”。 8月22日,在2023中国(南京)国际软件产品和信息服务交易博览会的信息技术…...
CANN/asc-devkit队列屏障API
QueueBarrier 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.c…...
Cadence Allegro焊盘设计避坑指南:从SMD到通孔,这些层设置错了板子就废了
Cadence Allegro焊盘设计避坑指南:从SMD到通孔的关键层设置解析 当一块PCB板从设计文件变成实体电路板时,最令人崩溃的莫过于发现焊盘设计不当导致整批产品无法使用。作为使用Cadence Allegro进行PCB设计的工程师,Padstack Editor中的每个参数…...
别再手画电路图了!用Fritzing快速搞定Arduino项目接线图(附传感器库文件下载)
告别手绘时代:Fritzing高效绘制Arduino接线图的完整指南 在Arduino项目开发中,清晰的接线图不仅是项目文档的重要组成部分,更是团队协作和后期维护的关键参考。传统的手绘方式不仅效率低下,还容易出错,尤其当项目涉及多…...
5分钟学会在Windows电脑上安装Android应用:APK Installer终极指南
5分钟学会在Windows电脑上安装Android应用:APK Installer终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想在Windows电脑上运行手机应用吗&#x…...
3步打造专业网络视频系统:DistroAV NDI插件完全指南
3步打造专业网络视频系统:DistroAV NDI插件完全指南 【免费下载链接】obs-ndi DistroAV (formerly OBS-NDI): NDI integration for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-ndi 你是否还在为复杂的视频线缆而烦恼?或者为多设…...
踩坑实录:用YOLOv8训练小目标(足球)数据集时,我是如何通过调整图像尺寸把mAP提上去的
小目标检测优化实战:YOLOv8图像尺寸调整如何提升足球识别精度 足球在绿茵场上划出的弧线总是令人着迷,但当这份优雅遇上目标检测算法时,却常常变成开发者的噩梦——那些直径不足20像素的小球,在常规训练参数下往往成为模型"视…...
如何用Perplexity秒级获取NCBI/UniProt/PDB关联知识?——生物学家正在悄悄使用的4层语义穿透法
更多请点击: https://intelliparadigm.com 第一章:如何用Perplexity秒级获取NCBI/UniProt/PDB关联知识?——生物学家正在悄悄使用的4层语义穿透法 Perplexity 不是传统搜索引擎,而是面向科研语义网络的推理型知识代理。当输入一个…...
解密网易云音乐NCM文件:3分钟掌握ncmdump核心技术与实战应用
解密网易云音乐NCM文件:3分钟掌握ncmdump核心技术与实战应用 【免费下载链接】ncmdump 转换网易云音乐 ncm 到 mp3 / flac. Convert Netease Cloud Music ncm files to mp3/flac files. 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdump ncmdump作为C实…...
量子态重构技术QSDC:动态电路与机器学习结合
1. 量子态重构的技术挑战与QSDC框架概述 量子计算领域长期面临一个基础性难题:如何在电路运行过程中获取量子态的"快照"而不破坏其量子特性?传统量子态层析(QST)需要制备大量相同量子态副本进行测量,不仅效率…...
告别环境配置烦恼:Windows 10/11下RT-Thread Studio 2.2.7保姆级安装与首次运行指南
告别环境配置烦恼:Windows 10/11下RT-Thread Studio 2.2.7保姆级安装与首次运行指南 对于刚接触嵌入式开发的初学者来说,环境配置往往是第一个"拦路虎"。本文将手把手带你完成RT-Thread Studio在Windows系统下的完整安装流程,避开常…...
