>今年早些時候,我寫了一篇有關PHP-CI的文章,您可以用作PHP項目的連續集成工具。在本文中,我表示我仍然最喜歡Jenkins作為CI工具。是時候潛入詹金斯(Jenkins),看看我們如何為我們的PHP項目進行設置。
鑰匙要點Jenkins是一種多功能工具,可用於連續集成許多不同的應用程序,包括Web,軟件和移動應用程序。它提供了許多選擇和可能性,使其對新用戶有可能壓倒性。
- >
在Ubuntu Server上安裝Jenkins 14.04 LTS涉及運行特定命令,以將Jenkins存儲庫的密鑰添加到系統中,將Jenkins添加到Source source.list文件中,最後安裝Jenkins。安裝後,可以通過瀏覽器訪問Jenkins,通過將端口8080添加到URL的末端。
- >確保詹金斯對於防止未經授權的訪問至關重要。這涉及啟用安全領域,創建用戶數據庫,禁用該選項以無需許可即可註冊,並使用基於矩陣的安全性或基於項目的矩陣授權策略來設置授權。 。
- >為PHP項目準備Jenkins涉及安裝多個插件並創建模板。插件執行任務,例如分析報告並將其轉換為圖。該模板由塞巴斯蒂安·伯格曼(Sebastian Bergmann)創建,簡化了配置新項目的過程。
- 詹金斯簡介
- >詹金斯必須提供的內容列表很大,這是由於它擁有豐富的插件系統。基本上,詹金斯只是一種將各種不同的工具和插件連接在一起以為您創建報告的工具。例如,它可以運行phpunit,並隨著時間的推移向您顯示結果。它可以通過運行PHP -L檢查您的PHP代碼是否錯誤。但是,您還可以讓Jenkins構建一個項目並輸出ZIP文件,您可以用它來部署應用程序。這樣做的優點是,您可以將完整的ZIP文件返回以升級您的生產應用程序,而無需在生產服務器上運行Composer或NPM等工具。 Jenkins可用於許多不同的應用程序。您可以將其用於用PHP編寫的Web應用程序,還可以用於使用Java或任何其他語言編寫的軟件和移動應用程序。這使Jenkins成為一種非常通用的工具,對於處理許多不同項目的公司非常有趣。
我們將主要關注PHP代碼的質量,但最終我們還將簡要介紹分析我們的HTML,CSS和JavaScript,這些HTML,CSS和JavaScript與PHP密切協調。
>安裝Jenkins>您可以在任何流行的操作系統上安裝Jenkins。對於本文,我們將在Ubuntu Server 14.04 LTS上安裝Jenkins。如果您使用的是其他操作系統,則可以在此處檢查每個操作系統的安裝說明。在Ubuntu上安裝Jenkins的最簡單方法是運行此命令。
但是,您現在正在安裝位於Ubuntu存儲庫中的Jenkins。詹金斯本身建議直接從詹金斯存儲庫安裝。首先,我們將密鑰添加到存儲庫的系統中。
><span>sudo apt-get install jenkins</span>
現在,我們運行以下命令將jenkins添加到源。 list文件。
><span>wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -</span>
現在我們準備安裝jenkins。
<span>deb http://pkg.jenkins-ci.org/debian binary/</span>
完成後,Jenkins已成功安裝在您的服務器上。
sudo apt-get update
<span>sudo apt-get install jenkins</span>
>現在,您可以通過將端口8080添加到URL末端,通過瀏覽器到達Jenkins。因此,想像一下我的服務器命名為ci.myserver.com。
。 確保Jenkins
>您應該注意的第一件事是詹金斯完全開放。現在,任何去此URL的人都可以執行各種不同的任務,因此我們要做的第一件事就是確保它。我們首先單擊“側邊欄”菜單中的詹金斯。詹金斯(Jenkins)的通知將向我們打招呼,建議保護CI服務器。
單擊“設置安全”按鈕繼續。在下一頁上,標記啟用安全複選框。以下步驟對於正確遵循至關重要,因為很容易將自己鎖定在詹金斯(Jenkins)之外。如果發生這種情況,您可以按照以下步驟再次訪問。
>>您需要做的第一件事是設置您的安全領域。最簡單的是讓詹金斯(Jenkins)在詹金斯(Jenkins)自己的用戶數據庫面前標記複選框,擁有自己的用戶數據庫。確保還啟用了允許用戶註冊選項。現在,通過單擊“保存”來保存配置。
>通過單擊“管理詹金斯”,然後單擊“配置全局安全”,返回到安全設置。現在,您應該取消選中的允許用戶註冊複選框,以確保未經您的許可就無法創建新的帳戶。
接下來,我們將設置授權。最佳選擇是基於矩陣的安全性或基於項目的矩陣授權策略。這使您可以根據用戶設置他們可以和不能執行的操作。如果您選擇後一個選項,則每個項目都可以設置此功能。目前,我要選擇基於矩陣的安全性。
現在顯示具有權限的表。您只會看到一個表行,您可以在其中定義匿名用戶可以做什麼。但是,我們要為自己的用戶帳戶設置權限。因此,在下面的框中填寫您的用戶名,然後單擊“添加”。為了確保您可以訪問所有內容,您可以全部檢查它們。最後,這就是它的外觀。
注意:請小心大寫字母。彼得和彼得是2個不同的用戶帳戶,因此請確保您在兩種情況下填寫正確的用戶名。 保存時,您將自動登錄。請注意,除了登錄表單外,您再也看不到任何東西了。登錄後,您應該像以前一樣訪問所有內容。如果遇到許可錯誤,則犯了一個錯誤,要么必須更改設置,要么將自己鎖定在詹金斯(Jenkins)之外。在後一種情況下,請參見上面的鏈接。 >
準備詹金斯到目前為止,我們一直在忙於安裝和固定詹金斯。現在是時候配置Jenkins,以便我們可以開始構建和分析PHP項目了。塞巴斯蒂安·伯格曼(Sebastian Bergmann)創建了一個出色的網站,向您展示瞭如何為PHP設置Jenkins。我們將執行與記錄相同的步驟,但順序略有不同。
>>安裝插件
首先,我們需要將幾個插件安裝到Jenkins中。插件是詹金斯(Jenkins)的小型擴展,可以為您執行任務,例如分析報告並將其轉換為圖形。我們將需要以下插件列表才能開始。
>checkStyle
cloverphp
- crap4j
- htmlpublisher
- jdepend
- 情節
- pmd
- 違規
- > xunit
- >我們將通過接口安裝這些插件。如果您對命令行感到更有經驗或更舒適,則可以查看此文檔,以查看如何通過命令行安裝它們。另外,該頁面將為您提供有關每個插件將要做什麼的簡短說明。
- >在詹金斯(Jenkins)內,去管理詹金斯(Jenkins),然後管理插件。單擊名稱可用的選項卡。在這裡,您將看到所有可用插件的完整列表。使用右上角的過濾器,您可以快速搜索每個插件。確保通過選中復選框安裝上面提到的插件的完整列表。
>在安裝完成後,請檢查重新啟動Jenkins的複選框,並且在所有工作完成時都沒有工作來重新啟動Jenkins。重新啟動後,所有必需的插件已正確安裝。
>創建模板
>設置詹金斯時,我們通常從創建一個項目開始,有時稱為作業。一個項目通常是您獲得的一個PHP項目。在一個項目中,您將有幾個構建。您可以在某些時刻配置Jenkins來分析(構建)代碼。例如,可以安排時間間隔,也可以按照貢獻者的拉動請求進行拉動請求。因此,一個項目隨著時間的推移包含多個構建,每個項目都是對您的代碼的單獨分析。多虧了我們安裝的插件,您將能夠以不錯的圖表看到這些構建的結果。在這些圖中,如果某個構建提高或降低了項目質量,則可以快速發現。我們還可以根據所有工具來查看我們需要在哪裡改進代碼的位置。
>>我們現在可以創建一個新項目。但是,我們還需要配置此項目。例如,我們可以配置每次運行phpunit,都應創建一個代碼覆蓋頁面,以便我們可以查看測試了哪些代碼以及未經測試的代碼。我們需要在一個新項目上配置很多測試,這可能很耗時。幸運的是,塞巴斯蒂安·伯格曼(Sebastian Bergmann)也創建了一個我們將要使用的模板。
>我們需要打開命令行才能安裝此模板。最簡單的方法是下載提供的CLI工具Jenkins提供。但是,問題是我們早些時候確保了詹金斯的安裝。這意味著我們必須將安全性打開回匿名或將公共/私鑰連接到我們的帳戶。
在這種情況下,我們正在尋找一種安裝模板的替代方法。首先,登錄命令行上的用戶jenkins,然後轉到主目錄。>
<span>sudo apt-get install jenkins</span>在主目錄中,進入工作目錄並創建一個名為php-template的新目錄。
<span>wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -</span>現在,我們將輸入此目錄並添加配置文件。
現在,我們需要詹金斯重新加載其配置。您可以通過返回Web界面來執行此操作,單擊“管理Jenkins”,然後單擊磁盤中的重新加載配置。詹金斯現在將重新加載其配置。完成後,您應該在主概述頁面上查看php-template項目。
<span>deb http://pkg.jenkins-ci.org/debian binary/</span>>
>詹金斯現在已經準備好了。我們可以基於此模板創建新項目。
結論
在本文中,我們安裝,有保證並準備了Jenkins,以開始分析我們的PHP項目。在下一部分中,我們將添加我們的項目,準備它,當然也可以分析。在安裝和確保Jenkins >確保詹金斯的最佳實踐是什麼?首先,確保Jenkins在自己的用戶帳戶中運行,其特權有限,以最大程度地減少安全漏洞的潛在損失。其次,在“配置全局安全”部分中啟用安全性,並選擇用於身份驗證的安全領域。第三,將基於基於矩陣的安全性或基於項目的矩陣授權策略進行授權。第四,確保所有Jenkins插件和Jenkins Core始終是最新的。最後,定期備份您的Jenkins設置以防止數據丟失。 >
>如何在jenkins中啟用安全性?
啟用Jenkins的安全性,導航以管理Jenkins>配置全球安全性。檢查啟用安全框。在訪問控制部分中,選擇用於身份驗證的安全領域。詹金斯(Jenkins)提供了幾種選項,包括詹金斯(Jenkins)自己的用戶數據庫,LDAP等。允許為每個用戶或組指定不同的權限。它可以對用戶或組可以執行的操作進行細粒度的控制。要使用它,您需要安裝基於角色的授權策略插件。
>>如何保持我的jenkins插件和核心插件和核心最新?更新插件和核心。導航到管理詹金斯>管理插件>更新選項卡。在這裡,您可以看到已安裝的插件的可用更新。要更新Jenkins Core,請轉到管理Jenkins>“管理插件”>“高級”選項卡,然後單擊“更新站點”部分中的“現在的檢查”按鈕。
如何備份我的jenkins設置?備份詹金斯設置對於防止數據丟失至關重要。您可以使用Shinebackup插件來備份Jenkins設置。它允許安排備份並從備份中恢復。
>如何限制Jenkins用戶帳戶的特權?
限制Jenkins用戶帳戶的特權,創建一個專門用於專門用於的新用戶帳戶跑步詹金斯。該用戶帳戶不應具有Sudo特權或能夠登錄到系統。 >>如何在Jenkins中安裝基於角色的授權策略插件?搜索基於角色的授權策略插件,選擇它,然後單擊“無重新啟動”按鈕的安裝。
jenkins中的安全領域是什麼?
>
jenkins中的安全領域用於使用驗證。它決定了用戶的身份驗證。詹金斯(Jenkins)提供了幾種選項,包括詹金斯(Jenkins)自己的用戶數據庫,LDAP等。導航到管理Jenkins>配置全局安全性。在CSRF保護部分中,請選中“預防跨站點請求偽造框”框,然後選擇默認的Crumb發行者。
>
>如何在jenkins中啟用安全性?啟用Jenkins的安全性,導航以管理Jenkins>配置全球安全性。檢查啟用安全框。在訪問控制部分中,選擇用於身份驗證的安全領域。詹金斯(Jenkins)提供了幾種選項,包括詹金斯(Jenkins)自己的用戶數據庫,LDAP等。允許為每個用戶或組指定不同的權限。它可以對用戶或組可以執行的操作進行細粒度的控制。要使用它,您需要安裝基於角色的授權策略插件。
>>如何保持我的jenkins插件和核心插件和核心最新?更新插件和核心。導航到管理詹金斯>管理插件>更新選項卡。在這裡,您可以看到已安裝的插件的可用更新。要更新Jenkins Core,請轉到管理Jenkins>“管理插件”>“高級”選項卡,然後單擊“更新站點”部分中的“現在的檢查”按鈕。
如何備份我的jenkins設置?備份詹金斯設置對於防止數據丟失至關重要。您可以使用Shinebackup插件來備份Jenkins設置。它允許安排備份並從備份中恢復。
>如何限制Jenkins用戶帳戶的特權?
>如何在Jenkins中安裝基於角色的授權策略插件?搜索基於角色的授權策略插件,選擇它,然後單擊“無重新啟動”按鈕的安裝。
jenkins中的安全領域是什麼?
>
jenkins中的安全領域用於使用驗證。它決定了用戶的身份驗證。詹金斯(Jenkins)提供了幾種選項,包括詹金斯(Jenkins)自己的用戶數據庫,LDAP等。導航到管理Jenkins>配置全局安全性。在CSRF保護部分中,請選中“預防跨站點請求偽造框”框,然後選擇默認的Crumb發行者。以上是安裝和固定詹金斯的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Laravel使用其直觀的閃存方法簡化了處理臨時會話數據。這非常適合在您的應用程序中顯示簡短的消息,警報或通知。 默認情況下,數據僅針對後續請求: $請求 -

PHP客戶端URL(curl)擴展是開發人員的強大工具,可以與遠程服務器和REST API無縫交互。通過利用Libcurl(備受尊敬的多協議文件傳輸庫),PHP curl促進了有效的執行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显著减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想為客戶最緊迫的問題提供實時的即時解決方案? 實時聊天使您可以與客戶進行實時對話,並立即解決他們的問題。它允許您為您的自定義提供更快的服務

文章討論了PHP 5.3中介紹的PHP中的晚期靜態結合(LSB),允許靜態方法的運行時間分辨率調用以更靈活的繼承。 LSB的實用應用和潛在的觸摸

PHP日誌記錄對於監視和調試Web應用程序以及捕獲關鍵事件,錯誤和運行時行為至關重要。它為系統性能提供了寶貴的見解,有助於識別問題並支持更快的故障排除

Laravel框架的Storage::download方法提供了一個簡潔的API,用於安全地處理文件下載,同時管理文件存儲的抽象。 以下是一個在示例控制器中使用Storage::download()的例子:

Laravel簡化了傳入請求中的HTTP動詞處理,從而簡化了應用程序中的多樣化操作管理。 方法()和iSmethod()方法有效地識別和驗證請求類型。 此功能對於構建至關重要


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3漢化版
中文版,非常好用