• 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配置的文件内容如下:

    1. server {
    2. listen 80;
    3. index index.php index.html;
    4. server_name hg.shop.com;
    5. root /htdocs/gitwork/shop/public;
    6. location / {
    7. # try_files $uri /index.php$is_args$args;
    8. if (!-e $request_filename){
    9. rewrite ^(.*)$ /index.php?s=$1 last; break;
    10. }
    11. }
    12. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    13. {
    14. expires 30d;
    15. error_log off;
    16. access_log /dev/null;
    17. }
    18. location ~ .*\.(js|css)?$
    19. {
    20. expires 12h;
    21. error_log off;
    22. access_log /dev/null;
    23. }
    24. location /notice {
    25. proxy_pass http://192.168.33.10:20004;
    26. proxy_http_version 1.1;
    27. proxy_set_header Upgrade $http_upgrade;
    28. proxy_set_header Connection "upgrade";
    29. proxy_set_header X-real-ip $remote_addr;
    30. proxy_set_header X-Forwarded-For $remote_addr;
    31. }
    32. location /msg {
    33. proxy_pass http://192.168.33.10:20005/;
    34. proxy_http_version 1.1;
    35. proxy_set_header Upgrade $http_upgrade;
    36. proxy_set_header Connection "upgrade";
    37. proxy_set_header X-real-ip $remote_addr;
    38. proxy_set_header X-Forwarded-For $remote_addr;
    39. }
    40. location ~ \.php$ {
    41. fastcgi_split_path_info ^(.+\.php)(/.+)$;
    42. fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    43. fastcgi_index index.php;
    44. include fastcgi_params;
    45. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    46. fastcgi_param PATH_INFO $fastcgi_path_info;
    47. }
    48. }
     4.配置php项目的打包编译的自动化配置。

    php项目如下:

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

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

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

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

     

     

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

    点击测试,看是否正常:

     设置构建shell 脚本:

    1. cd /var/jenkins_home/workspace/shop
    2. rm -rf shop.tar.gz
    3. # 排除无用文件 第一次发布的时候保留,后面直接排除即可
    4. tar -zcvf shop.tar.gz --exclude=vendor --exclude=runtime crmeb
    5. exit 0

     配置完成后,提交代码:

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

     

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

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

  • 相关阅读:
    java-net-php-python-springboot健身房管理系统计算机毕业设计程序
    egg搭建直播间
    Open3D ICP精配准(点到面)
    【基础知识】PID(比例微分积分)控制
    Log4j2 消停了,Logback 开始塌房了?
    ants - 目前开源最优的协程池
    go语言面试(第一轮)请你说说 TCP 和 UDP 的区别
    归并排序
    生成器建造者模式(Builder)——创建型模式
    PostgreSQL 免费的对象-关系数据库
  • 原文地址:https://blog.csdn.net/lchmyhua88/article/details/139999816