【11】進大廠必須掌握的面試題-持續整合面試
阿新 • • 發佈:2020-10-19
### **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) ,更多內容點選