2015-12-04 31 views
2

我正在尋找執行CI/CD到我目前的項目這裏是我認爲會工作。CI和CD執行問題

環境包括 - 詹金斯 - 蹦 - 泊塢窗 - gradle這個 - Linux服務器 - 聲納 - Ansible。

將使用每個工具如下。

  • Git: - 開發人員會將代碼推送到這個CVS。
  • Jenkins: - 檢測到檢入Jenkins將觸發構建並將部署到其中一個服務器。
  • 聲納: - 將用於代碼覆蓋率,並將在通過Jenkins構建代碼之前檢查代碼。可行的: - 將使用ansible來快速準備添加的節點,以便可以將代碼部署到它們。
  • Docker如果我們需要新的測試環境,每次我們都可以使用docker + ansible combo來完成這些工作。

    工作流程將是他的機器上

  • 用戶運行單元測試用例和代碼提交到服務器。

  • 詹金斯將從git中提取代碼,並將運行聲吶並生成報告。
  • jenkins將創建構建並將部署在dev服務器上。
  • jenkins作業將運行並將在dev服務器上執行集成測試
  • 可以運行任何其他自動化測試。
  • 最終構建使用Jenkins推送到下一個服務器。
  • 我將在Jenkins內部使用shell命令將編譯後的代碼從一臺服務器推送到另一臺服務器。

    在我的這種情況下,可以有人回答我下面。

  • 聲納哪裏適合以及如何使用它?

  • 我看到有CD工具,不能將編譯後的代碼推送到使用Jenkins作業內部編寫的shell腳本來自動部署事物的服務器上? CD工具提供什麼額外好處
  • 明智地創建新的測試環境還是我們可以一直使用舊的測試環境?
  • 這個完整的CI/CD?

    可有人份額有執行

回答

3

你說你打算使用Git的。我會在GitHub上勾勒使用Git的情景

  1. 開發商推這裏代碼變化引入請求
  2. SonarQube GitHub Plugin揭開序幕的PR改變只有代碼進行初步分析,尋找引進的新問題(注意,覆蓋面和重複不包括在此檢查)
  3. 一旦PR合併,詹金斯(在一個工作或幾種,根據您的需要)
    • 建立
    • 火災集成測試&任何其他自動化測試
    • 運行SonarQube掃描。請注意,這最後會包含集成測試結果。
    • 推動建立到下一個服務器

需要注意的是,打破該項目時沒有通過SonarQube質量門你已經建立構建的能力可能是在您的情況理想。不幸的是,它在當前的服務器版本中不可用:5.2。它在5.1中可用,應該返回soon