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

Jenkins自動(dòng)化部署PHP項(xiàng)目的操作流程

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

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

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

一、前置準(zhǔn)備

1. 環(huán)境要求

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

2. 核心流程

本教程最終實(shí)現(xiàn)的自動(dòng)化流程:

本地提交代碼 → 代碼倉(cāng)庫(kù) → Jenkins 自動(dòng)觸發(fā)拉取 → 自動(dòng)部署到服務(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 源并安裝:

# 導(dǎo)入 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. 啟動(dòng) Jenkins

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

3. 初始化 Jenkins

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

獲取密碼命令:

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

三、Jenkins 必備插件安裝

部署 PHP 項(xiàng)目需要 2 個(gè)核心插件,在 Jenkins 后臺(tái)安裝:

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

安裝完成后重啟 Jenkins

systemctl restart jenkins

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

Jenkins 需要免密權(quán)限將代碼部署到 PHP 項(xiàng)目目錄,我們配置 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,實(shí)現(xiàn)免密
echo "上面復(fù)制的公鑰內(nèi)容" >> ~/.ssh/authorized_keys
# 設(shè)置權(quán)限(必須,否則免密失效)
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

五、配置 Jenkins 遠(yuǎn)程 SSH 連接

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

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

1. 新建任務(wù)

  • 進(jìn)入 Jenkins 控制臺(tái) → 新建任務(wù)
  • 任務(wù)名稱:PHP-Deploy
  • 選擇:構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目 → 確定

2. 配置代碼倉(cāng)庫(kù)

源碼管理 中選擇 Git

  • Repository URL:你的 PHP 項(xiàng)目 Git 地址(如 https://gitee.com/xxx/php-project.git
  • Credentials:添加倉(cāng)庫(kù)賬號(hào)密碼(Gitee/GitHub 賬號(hào))
  • 分支:默認(rèn) */main*/master

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

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

如果是 Gitee/GitLab,配置倉(cāng)庫(kù) WebHook:

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

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

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

# 1. 進(jìn)入 Jenkins 工作區(qū)(拉取代碼的目錄)
cd ${WORKSPACE}
# 2. 同步代碼到項(xiàng)目部署目錄(/www/wwwroot/你的項(xiàng)目目錄)
rsync -avz --delete --exclude=.git ./ /www/wwwroot/php-project/
# 3. PHP 項(xiàng)目專屬命令(根據(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. 保存配置

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

七、測(cè)試自動(dòng)化部署

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

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

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

  • 本地修改 PHP 代碼
  • 提交并推送到 Git 倉(cāng)庫(kù)
  • Jenkins 會(huì)自動(dòng)拉取代碼并部署,無需任何操作。

八、常見問題解決

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

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

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

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

3. Git 拉取代碼失敗

  • 檢查倉(cāng)庫(kù)地址是否正確
  • 確認(rèn)賬號(hào)密碼權(quán)限無誤

九、總結(jié)

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

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

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

相關(guān)文章

最新評(píng)論

成都市| 上林县| 玛纳斯县| 武夷山市| 浦县| 石棉县| 静海县| 达拉特旗| 黄浦区| 靖宇县| 泽库县| 工布江达县| 三原县| 北海市| 浦江县| 新源县| 德庆县| 湘西| 云林县| 安西县| 九龙坡区| 原平市| 漳平市| 晋城| 福建省| 松桃| 尉犁县| 陕西省| 沁源县| 本溪市| 灵武市| 富民县| 黄龙县| 纳雍县| 宁明县| 武穴市| 彭泽县| 康保县| 永登县| 蕲春县| 和静县|