jenkins nginx自动化部署 php项目

在当今快速发展的IT领域,自动化部署已成为提高工作效率和减少错误的关键。Jenkins作为持续集成/持续部署(CI/CD)的佼佼者,结合Docker容器技术和PHP编程语言,以及Ansible自动化工具,可以实现高效、可靠的自动化部署。

1、安装Jenkins

前面已经讲过使用docker安装Jenkins ,可以参考前面的文章 : Vagrant + docker搭建Jenkins 部署环境-CSDN博客

2、安装php环境,由于是在宿主机上运行的,所以需要先安装php运行环境,redis环境

3、安装nginx ,这是是需要在宿主机上面安装,因为我的jenkins和服务器不在一台机器上。

接下来我们先把nginx配置好,代码目录在 /htdocs/workspace下面:

nginx配置的文件内容如下:

复制代码
server {
    listen 80;
    index index.php index.html;
    server_name hg.shop.com;

    root /htdocs/gitwork/shop/public;


    location / {
        # try_files $uri /index.php$is_args$args;
        if (!-e $request_filename){
            rewrite  ^(.*)$  /index.php?s=$1  last;   break;
        }
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log off;
        access_log /dev/null;
    }
    
    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log off;
        access_log /dev/null; 
    }
    location /notice {
        proxy_pass http://192.168.33.10:20004;  
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-real-ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
    location /msg {
        proxy_pass http://192.168.33.10:20005/;  
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-real-ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
    
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}
4.配置php项目的打包编译的自动化配置。

php项目如下:

5 。接着来配置jenkins自动化构建设置。

前面已经接扫了,就不说了,可以参考前面

6.创建一个自由分格的前端项目,点击保存:

参考前面的步骤,这里不在细说。

在项目里面设置第三方访问的webhook ,把前面jenkins生成的api token和地址填入下面的位置后保存。

点击测试,看是否正常:

设置构建shell 脚本:

复制代码
rm -rf shop.tar.gz
#把当前目录的所有文件打包成shop.tar.gz
tar zcvf shop.tar.gz shop
exit 0

配置完成后,提交代码:

打开jenkins已经开始自动化构建了:

打开页面,可以看到成功了。

当然可以采用docker容器化部署的方式来构建,其实本质都是一样的。

相关推荐
霁月的小屋9 分钟前
Docker 工程化实践(二):理解镜像分层与容器文件系统
运维·docker·容器
Android系统攻城狮14 分钟前
Linux PipeWire深度解析之pw_context_add_spa_lib调用流程与实战(二十九)
linux·运维·服务器·音频进阶·pipewire音频进阶
江边风声22 分钟前
从薄板到厚板、从吸盘到夹板边——坤鹏伯爵的取放技术体系是怎样覆盖全制程的
人工智能·科技·自动化·制造·pcb工艺
Hacker_xingchen25 分钟前
手把手教你配置Jenkins自动化邮件通知
自动化测试·软件测试·servlet·自动化·jenkins
Dovis(誓平步青云)29 分钟前
《如何在CentOS 7中添加Plex官方软件源:解决文件磁盘难管理难题》
linux·运维·服务器·后端·生成对抗网络·centos
草莓熊Lotso41 分钟前
【Linux网络】深入理解Linux IO多路复用:select服务器完善、内核原理与poll实战
linux·运维·服务器·c语言·网络·c++
网安老伯1 小时前
网络安全基础要点知识介绍(非常详细),零基础入门到精通,看这一篇就够了
运维·前端·网络协议·web安全·网络安全·职场和发展
迷茫中的自我1 小时前
GitHub Actions自动化运维实战:从CI/CD到云原生部署
运维·自动化·github
XH华1 小时前
Linux系统第二章:常见的Linux指令(上)
linux·运维·服务器
nVisual1 小时前
01-环境监控集成方案
运维·服务器·开发语言·网络·数据库·数据中心布线·综合布线管理软件