Q1。持續整合是什麼意思?
我將建議您通過對持續整合(CI)進行小的定義來開始此答案。這是一種開發實踐,要求開發人員每天多次將程式碼整合到共享儲存庫中。然後,每個簽入均由自動構建進行驗證,從而使團隊能夠及早發現問題。
我建議您說明您在上一份工作中是如何實施的。您可以參考以下給出的示例:
在上圖所示的圖中:
- 開發人員將程式碼檢出到其專用工作區中。
- 完成後,將更改提交到共享儲存庫(版本控制儲存庫)。
- CI伺服器監視儲存庫,並在發生更改時簽出更改。
- 然後,CI伺服器提取這些更改並構建系統,並執行單元測試和整合測試。
- CI伺服器現在將通知團隊成功的構建。
- 如果構建或測試失敗,則CI伺服器將警告團隊。
- 該小組將盡早解決此問題。
- 這個過程不斷重複。
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資料/資料夾的物理訪問。
- 定期對其進行安全稽核。