1. 程式人生 > >【11】進大廠必須掌握的面試題-持續整合面試

【11】進大廠必須掌握的面試題-持續整合面試

### **Q1。持續整合是什麼意思?** 我將建議您通過對持續整合(CI)進行小的定義來開始此答案。這是一種開發實踐,要求開發人員每天多次將程式碼整合到共享儲存庫中。然後,每個簽入均由自動構建進行驗證,從而使團隊能夠及早發現問題。 我建議您說明您在上一份工作中是如何實施的。您可以參考以下給出的示例: ![Jenkins獨立架構-Devops面試問題](https://img2020.cnblogs.com/other/2169955/202010/2169955-20201019143620423-377175058.png) 在上圖所示的圖中: 1. 開發人員將程式碼檢出到其專用工作區中。 2. 完成後,將更改提交到共享儲存庫(版本控制儲存庫)。 3. CI伺服器監視儲存庫,並在發生更改時簽出更改。 4. 然後,CI伺服器提取這些更改並構建系統,並執行單元測試和整合測試。 5. CI伺服器現在將通知團隊成功的構建。 6. 如果構建或測試失敗,則CI伺服器將警告團隊。 7. 該小組將盡早解決此問題。 8. 這個過程不斷重複。 ### **Q2。為什麼需要開發與測試的持續整合?** 對於此答案,您應重點關注持續整合的需求。我的建議是在您的答案中提及以下解釋: 開發和測試的持續整合通過在完成所有開發後替換傳統的測試實踐,提高了軟體的質量,並縮短了交付軟體的時間。由於開發人員需要每天(多次)將程式碼整合到共享儲存庫中,因此開發團隊可以輕鬆地及早發現並定位問題。然後將自動測試每個簽入。 ### **Q3。持續整合的成功因素是什麼?** 在這裡,您必須提及持續整合的要求。您可以在回答中包括以下幾點: - 維護程式碼庫 - 自動化構建 - 使構建自檢 - 每個人每天都致力於基線 - 每次提交(到基線)都應該構建 - 保持快速構建 - 在生產環境的克隆中進行測試 - 輕鬆獲取最新交付物 - 每個人都可以看到最新版本的結果 - 自動化部署 ### **Q4。解釋如何將Jenkins從一臺伺服器移動或複製到另一臺伺服器?** 我將通過將作業目錄從舊伺服器複製到新伺服器來完成此任務。有多種方法可以做到這一點。我在下面提到了它們: 您可以: - 只需複製相應的作業目錄,即可將作業從一個Jenkins安裝移至另一安裝。 - 通過使用不同的名稱克隆作業目錄來複制現有作業。 - 通過重新命名目錄來重新命名現有作業。請注意,如果您更改作業名稱,則將需要更改任何其他嘗試呼叫重新命名作業的作業。 ### **Q5。解釋如何在Jenkins中建立備份和複製檔案?** 這個問題的答案確實是直接的。要建立備份,您需要做的就是定期備份JENKINS_HOME目錄。這包含所有構建作業配置,從屬節點配置以及構建歷史記錄。要建立您的Jenkins設定的備份,只需複製此目錄。您還可以複製作業目錄以克隆或複製作業或重新命名目錄。 ### **Q6。解釋如何設定Jenkins工作?** 我要回答這個問題的方法是首先提到如何建立Jenkins工作。轉到Jenkins主頁,選擇“新建作業”,然後選擇“構建自由樣式的軟體專案”。 然後,您可以說出此自由式作業的元素: - 原始碼所在的可選SCM,例如CVS或Subversion。 - 可選觸發器,用於控制Jenkins何時執行構建。 - 某種執行實際工作的構建指令碼(ant,maven,shell指令碼,批處理檔案等)。 - 從構建中收集資訊的可選步驟,例如,歸檔工件和/或記錄javadoc和測試結果。 - 通知其他人員/系統構建結果的可選步驟,例如傳送電子郵件,IM,更新問題跟蹤器等。 ### **Q7。在Jenkins中提及一些有用的外掛。** 下面,我提到了一些重要的外掛: - Maven 2 project - Amazon EC2 - HTML publisher - Copy artifact - Join - Green Balls 我覺得這些外掛是最有用的外掛。如果要包括上面未提及的任何其他外掛,也可以新增它們。但是,請確保首先提及上述外掛,然後新增您自己的外掛。 ### **Q8。您將如何保護Jenkins?** 下面提到我保護Jenkins的方法。如果您還有其他方法,請在下面的評論部分中提及: - 確保啟用全域性安全性。 - 確保使用適當的外掛將Jenkins與我公司的使用者目錄整合。 - 確保已啟用矩陣/專案矩陣以微調訪問。 - 使用自定義版本控制指令碼在Jenkins中自動設定許可權/特權的過程。 - 限制對Jenkins資料/資料夾的物理訪問。 - 定期對其進行安全稽核。 > 歡迎關注 [Java架構師社群](http://javajgs.com/)公眾號. > 本文轉載自[Java架構師必看](http://javajgs.com/archives/6654) ,更多內容點選