最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Jenkins自動化部署PHP項目的操作流程

 更新時間:2026年05月28日 08:46:11   作者:D4c-lovetrain  
本文詳細介紹了如何使用Jenkins實現(xiàn)PHP項目的自動化部署,從安裝Jenkins到配置SSH免密登錄,再到創(chuàng)建自動化部署任務(wù),每一步都詳細說明,確保讀者能夠輕松實現(xiàn)代碼提交自動自動部署,適用于Laravel、ThinkPHP等多種PHP框架,需要的朋友可以參考下

在傳統(tǒng) PHP 項目開發(fā)中,每次更新代碼都需要手動上傳文件、重啟服務(wù)、配置環(huán)境,不僅效率低,還容易出現(xiàn)人為失誤。Jenkins 自動化部署可以完美解決這個問題:代碼提交后自動拉取、構(gòu)建、部署,全程零人工干預,一鍵上線項目。

本篇教程從 0 到 1,帶你搭建 Jenkins + PHP 項目的自動化部署流程,適用于 Laravel、ThinkPHP、原生 PHP 等所有 PHP 項目。

一、前置準備

1. 環(huán)境要求

  • 一臺 Linux 服務(wù)器(CentOS 7+/Ubuntu 20+ 均可)
  • 已安裝 PHP、Nginx、Git(PHP 項目運行環(huán)境)
  • 服務(wù)器開放 8080 端口(Jenkins 默認端口)
  • 一個代碼倉庫(Gitee/GitHub/GitLab 都支持)

2. 核心流程

本教程最終實現(xiàn)的自動化流程:

本地提交代碼 → 代碼倉庫 → Jenkins 自動觸發(fā)拉取 → 自動部署到服務(wù)器 Nginx 目錄 → 完成上線

二、安裝并初始化 Jenkins

1. 安裝 Jenkins

Jenkins 依賴 Java 環(huán)境,先安裝 JDK:

# 安裝 OpenJDK 11
yum install -y java-11-openjdk-devel  # CentOS
# apt install -y openjdk-11-jdk       # Ubuntu

添加 Jenkins 源并安裝:

# 導入 Jenkins 密鑰
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
# 安裝 Jenkins
yum install -y jenkins

2. 啟動 Jenkins

# 設(shè)置開機自啟
systemctl enable jenkins
# 啟動服務(wù)
systemctl start jenkins
# 查看狀態(tài)
systemctl status jenkins

3. 初始化 Jenkins

瀏覽器訪問:http://服務(wù)器IP:8080,首次打開需要輸入管理員密碼。

獲取密碼命令:

cat /var/lib/jenkins/secrets/initialAdminPassword
  • 選擇安裝推薦的插件(等待自動安裝完成)
  • 創(chuàng)建管理員賬號(記住賬號密碼,后續(xù)登錄使用)
  • 完成初始化,進入 Jenkins 控制臺

三、Jenkins 必備插件安裝

部署 PHP 項目需要 2 個核心插件,在 Jenkins 后臺安裝:

  1. 進入:Dashboard → 系統(tǒng)管理 → 插件管理 → 可用插件
  2. 搜索并安裝:
    • Git Plugin(拉取代碼,默認已裝)
    • Publish Over SSH(遠程發(fā)送文件到部署目錄)

安裝完成后重啟 Jenkins

systemctl restart jenkins

四、配置 Jenkins 服務(wù)器免密登錄(關(guān)鍵)

Jenkins 需要免密權(quán)限將代碼部署到 PHP 項目目錄,我們配置 SSH 免密登錄。

1. 生成 Jenkins 密鑰

# 切換到 jenkins 用戶
su - jenkins -s /bin/bash
# 生成密鑰(一路回車,不要設(shè)置密碼)
ssh-keygen -t rsa

2. 查看公鑰

cat ~/.ssh/id_rsa.pub

3. 將公鑰添加到服務(wù)器授權(quán)

# 將公鑰寫入 authorized_keys,實現(xiàn)免密
echo "上面復制的公鑰內(nèi)容" >> ~/.ssh/authorized_keys
# 設(shè)置權(quán)限(必須,否則免密失效)
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

五、配置 Jenkins 遠程 SSH 連接

  1. 進入:系統(tǒng)管理 → 系統(tǒng)配置
  2. 找到 Publish Over SSH 配置項:
    • SSH Server 名稱:自定義(如 PHP-Server)
    • Hostname:服務(wù)器內(nèi)網(wǎng) IP / 公網(wǎng) IP
    • Username:服務(wù)器登錄用戶名(如 root)
    • Remote Directory:PHP 項目部署根目錄(如 /www/wwwroot/
  3. 點擊 Test Configuration,顯示 Success 即配置成功。

六、創(chuàng)建 PHP 項目自動化部署任務(wù)

1. 新建任務(wù)

  • 進入 Jenkins 控制臺 → 新建任務(wù)
  • 任務(wù)名稱:PHP-Deploy
  • 選擇:構(gòu)建一個自由風格的軟件項目 → 確定

2. 配置代碼倉庫

源碼管理 中選擇 Git

  • Repository URL:你的 PHP 項目 Git 地址(如 https://gitee.com/xxx/php-project.git
  • Credentials:添加倉庫賬號密碼(Gitee/GitHub 賬號)
  • 分支:默認 */main*/master

3. 配置構(gòu)建觸發(fā)器(自動部署)

勾選 GitHub hook trigger for GITScm polling(代碼提交自動觸發(fā)部署)。

如果是 Gitee/GitLab,配置倉庫 WebHook:

  • Jenkins 地址:http://IP:8080/generic-webhook-trigger/invoke
  • 觸發(fā)條件:Push 事件

4. 配置構(gòu)建腳本(核心部署命令)

構(gòu)建 → 執(zhí)行 Shell 中輸入以下腳本(根據(jù)你的項目修改):

# 1. 進入 Jenkins 工作區(qū)(拉取代碼的目錄)
cd ${WORKSPACE}
# 2. 同步代碼到項目部署目錄(/www/wwwroot/你的項目目錄)
rsync -avz --delete --exclude=.git ./ /www/wwwroot/php-project/
# 3. PHP 項目專屬命令(根據(jù)框架選擇)
# ThinkPHP 5/6
cd /www/wwwroot/php-project && chmod -R 755 runtime && chmod -R 755 public
# Laravel
# cd /www/wwwroot/php-project && chmod -R 755 storage && chmod -R 755 bootstrap/cache
# 原生 PHP 無需額外命令
# 4. 設(shè)置目錄權(quán)限(防止 Nginx 無權(quán)限訪問)
chown -R www:www /www/wwwroot/php-project

5. 保存配置

至此,自動化部署任務(wù)配置完成!

七、測試自動化部署

1. 手動觸發(fā)部署

  • 進入任務(wù) → 立即構(gòu)建
  • 查看控制臺輸出:Finished: SUCCESS 表示部署成功。

2. 自動觸發(fā)部署

  • 本地修改 PHP 代碼
  • 提交并推送到 Git 倉庫
  • Jenkins 會自動拉取代碼并部署,無需任何操作。

八、常見問題解決

1. Jenkins 無權(quán)限寫入項目目錄

chown -R jenkins:jenkins /www/wwwroot/
chmod -R 755 /www/wwwroot/

2. 構(gòu)建成功但網(wǎng)頁不更新

  • 檢查 Nginx 配置的根目錄是否正確
  • 清除瀏覽器緩存 / 重啟 Nginx:systemctl restart nginx

3. Git 拉取代碼失敗

  • 檢查倉庫地址是否正確
  • 確認賬號密碼權(quán)限無誤

九、總結(jié)

通過 Jenkins 部署 PHP 項目,我們實現(xiàn)了:

  1. 代碼提交自動部署,告別手動上傳
  2. 統(tǒng)一部署環(huán)境,避免線上本地不一致
  3. 一鍵回滾 / 重新部署,運維效率提升 90%

以上就是Jenkins自動化部署PHP項目的操作流程的詳細內(nèi)容,更多關(guān)于Jenkins自動化部署PHP項目的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

聂荣县| 全南县| 桓仁| 莲花县| 新绛县| 普格县| 翁源县| 安丘市| 闵行区| 神木县| 新宁县| 抚顺县| 宁明县| 克什克腾旗| 沙河市| 正阳县| 北票市| 开封市| 西宁市| 保定市| 思南县| 临西县| 阜阳市| 阳山县| 巴南区| 天全县| 新巴尔虎右旗| 北宁市| 舒城县| 仁寿县| 类乌齐县| 宁都县| 金华市| 牙克石市| 平度市| 鄢陵县| 柘城县| 太白县| 海丰县| 新乡市| 潢川县|