基于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] all
 1 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

基于ansible部署

复制代码
[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();
?>
相关推荐
拓端研究室3 分钟前
专题:2025供应链数智化与效率提升报告|附100+份报告PDF、原数据表汇总下载
开发语言·php
朱颜辞镜花辞树‎2 小时前
GitHub 操作指南:项目协作与自动化工作流实践
运维·自动化·github
Shartin4 小时前
Can201-Introduction to Networking: Application Layer应用层
服务器·开发语言·php
mit6.8245 小时前
[es自动化更新] Updatecli编排配置.yaml | dockerfilePath值文件.yml
大数据·elasticsearch·搜索引擎·自动化
乌云暮年6 小时前
Linux常用命令
linux·服务器·ssh·php
apihz7 小时前
通用图片搜索-搜狗源免费API接口使用指南
android·java·python·php·音视频
博睿谷IT99_7 小时前
华为数据通信网络基础
开发语言·华为·php·华为认证
云和数据.ChenGuang8 小时前
自动化运维工具jenkins问题
运维·自动化·jenkins·运维面试题·运维试题
小嘚8 小时前
谷粒商城高级篇
运维·jenkins
素雪风华8 小时前
Jenkins+Gitee+Docker容器化部署
java·docker·gitee·jenkins·springboot·持续部署