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容器化部署的方式來構建,其實本質都是一樣的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/36039.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36039.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/36039.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Node.js RESTful API

Node.js RESTful API Node.js,作為一種流行的服務器端JavaScript運行環境,因其輕量級、高效和易于學習的特點,成為了開發RESTful API的優選技術之一。RESTful API是一種廣泛使用的Web服務架構風格,它利用HTTP協議的標準方法(如GET、POST、PUT、DELETE)來訪問和操作數據。…

開發指南035-刷新待辦

這個問題在平臺上的難點在于:待辦是在門戶系統里,待辦的處理是在另一個獨立的前端工程里,兩者是跨域關系。當然這兩個系統都是同一個瀏覽器打開的。跨域頁面通訊技術的核心是:消息監聽。 1、門戶主界面的vue頁面的create中掛接消息…

JavaScript 中的 change

什么是 change 事件&#xff1f; change 事件是 HTML 表單元素的一種事件類型&#xff0c;當表單元素的值發生變化并且失去焦點時&#xff0c;該事件會被觸發。常見的表單元素包括 <input>、<select> 和 <textarea>。 適用元素 <input>&#xff08;…

基于DeepNLP AI Store真人點評和ShowCase分享社區-AI for Image Generator

來源 quora 社區: https://deepnlpaistore.quora.com/ github: https://rockingdingo.github.io/deepnlp/store/image_generator 內容 DeepNLP AI Store 網址&#xff1a;http://www.deepnlp.org/store/image-generator 網站針對圖像生成類別 Image Generator下多個AI工具如 …

Spring MVC數據綁定和響應——復雜數據綁定(一)數組綁定

一、數組綁定的使用場景 在實際開發中&#xff0c;可能會遇到客戶端請求需要傳遞多個同名參數到服務器端的情況&#xff0c;這種情況采用前面講解的簡單數據綁定的方式顯然是不合適的。此時&#xff0c;可以使用數組來接收客戶端的請求參數&#xff0c;完成數據綁定。 接下來…

CS與MSF的權限互相傳遞/mimikatz抓取windows 2012明文密碼

目錄 CS和MSF的簡單介紹 Metasploit Cobalt Strike 1、CS權限傳遞到MSF 2、MSF權限傳遞到CS 3、使用mimikatz抓取明文密碼 通過修改注冊表用戶重新登錄后抓取明文密碼 今天的任務是兩個 一個是CS與MSF的權限互相傳遞一個是抓取windows2012的明文密碼 那就分別來完成 …

云計算基礎技術

云計算基礎技術概覽 計算類產品主要提供算力&#xff0c;支持業務運行&#xff0c;例如網站、辦公軟件、數據分析等計算能力&#xff0c;目前典型的產品主要是虛擬化和容器&#xff0c;在公有云上的云主機本質也是虛擬機。網絡類產品主要滿足資源的網絡連通性和隔離&#xff0c…

軟考初級網絡管理員__軟件單選題

1.如下圖所示&#xff0c;在IE“Intemet選項”對話框的()選項卡中可指定電子郵件程序。 常規 內容 高級 程序 2.在Excel的A1單元格中輸入函數“ROUND(1/3,3)”,按回車鍵之后&#xff0c;A1中的值為()。 1 1/3 0.34 0.333 3.在輸入Word文檔過程中&#xff0c;為了防止意…

Pinia的基本用法

Pinia的安裝和引入 1.安裝Pinia npm install pinia2. 在vue項目的main.js文件中引入pinia import { createApp } from vue import { createPinia } from pinia import App from ./App.vueconst pinia createPinia() const app createApp(App)app.use(pinia) app.mount(#ap…

日志打印中對容器(包括多級容器)的通用輸出

在日志打印中&#xff0c;往往有打印一個數組、集合等容器中的每個元素的需求&#xff0c;這些容器甚至可能嵌套起來&#xff0c;如果每個地方都用for循環打印&#xff0c;將會特別麻煩。基于這種需求&#xff0c;作者嘗試實現一個通用的打印函數SeqToStr()&#xff0c;將容器序…

線上民族傳統服飾商城

摘 要 隨著互聯網的不斷發展和普及&#xff0c;電子商務成為了人們生活中不可或缺的一部分。傳統的線下購物方式逐漸被線上購物所取代&#xff0c;人們越來越習慣在互聯網上購物。而民族傳統服飾作為我國豐富多樣的民族文化的重要組成部分&#xff0c;具有獨特的藝術價值和商業…

unity VR Interaction Framework 創建新手勢

提示&#xff1a;文章有錯誤的地方&#xff0c;還望諸位大神不吝指教&#xff01; 文章目錄 前言一、新建物體&#xff0c;并添加必要組件二、添加抓取點三、查看手勢的可視化樣式四、制作新的手勢1.點擊編輯2.根據需求調節手指關節3.保存手勢4. 使用創建的手勢5.運行 總結 前言…

等保測評——安全通信網絡——安全區域邊界

安全通信網絡 網絡架構 a) 應保證網絡設備的業務處理能力滿足業務高峰期需要&#xff1b; b) 應保證網絡各個部分的帶寬滿足業務高峰期需要&#xff1b; c) 應劃分不同的網絡區域&#xff0c;并按照方便管理和控制的原則為各網絡區域分配地址&#xff1b; 應核查是否依據重…

遠程過程調用協議gRPC及在go環境下的使用

1. 遠程過程調用協議 1.1 定義 遠程過程調用(Remote Procedure Call&#xff0c;PRC是一種進程間通信技術&#xff0c;它使得程序可以像調用本地函數一樣調用遠程服務器上的函數。RPC 屏蔽了底層的通信細節&#xff0c;讓開發者能夠更專注于業務邏輯&#xff0c;而無需關心網絡…

無源電壓繼電器 JDY-1210AW 導軌安裝 約瑟JOSEF

系列型號&#xff1a; JDY-1002AW電壓繼電器&#xff1b;JDY-1002B電壓繼電器&#xff1b; JDY-1110AW電壓繼電器&#xff1b;JDY-1110B電壓繼電器&#xff1b; JDY-1220AW電壓繼電器&#xff1b;JDY-1220B電壓繼電器&#xff1b; JDY-1100AW電壓繼電器&#xff1b;JDY-110…

服務器數據恢復—用raid6陣列磁盤組建raid5陣列如何恢復原raid數據?

服務器存儲數據恢復環境&#xff1a; 華為OceanStor 5800存儲&#xff0c;該存儲中有一組由10塊硬盤組建的raid6磁盤陣列&#xff0c;供企業內部使用&#xff0c;服務器安裝linux操作系統EXT3文件系統&#xff0c;劃分2個lun。 服務器存儲故障&#xff1a; 管理員發現存儲中rai…

JavaScript的學習之dom的查詢(一)

一、獲得元素 通過document對象調用&#xff1a; getElementById()&#xff1a;通過id屬性獲取一個元素節點對象getElementsByTagName()&#xff1a;通過標簽名獲取一組元素節點對象getElementsByName()&#xff1a;通過name屬性來獲取一組元素節點對象 核心學習代碼 <scrip…

記錄一次即將出現的釣魚新方式

釣魚通常是內網滲透過程中的最為常見的入口方式&#xff0c;但是隨著藍隊人員溯源反制思路開闊&#xff0c;入侵排查能力提升&#xff0c;釣魚也越來越困難&#xff0c;這里就記一種不同尋常的釣魚方式。 pip install 的執行流程&#xff1a; 先獲取到遠端的服務器地址 url 比…

node.js 面試題 1

### 明天要去面試了 今天晚上突擊一下node.js 什么是Node.js&#xff1f;它有什么特點&#xff1f; Node.js是一個基于Chrome V8引擎的JavaScript運行環境&#xff0c;它允許在服務器端運行JavaScript代碼。它的特點包括單線程、非阻塞I/O、事件驅動等 …

dispatch_after

dispatch_after dispatch_after dispatch_after dispatch_after函數并不是延遲對應時間后立即執行block塊中的操作&#xff0c;而是將任務追加到對應隊列中&#xff0c;考慮到隊列阻塞等情況&#xff0c;所以這個任務從加入隊列到真正執行的時間是不準確的。 dispatch_after(…