2013-10-06 144 views
0

我們使用Assembla票據系統和SVN存儲庫。我們計劃使用Jenkins服務器自動化構建過程。是否可以根據票證狀態觸發構建?觸發器Jenkins基於Assembla票據狀態構建

我們有4個不同的服務器

  1. 開發服務器
  2. QA服務器
  3. 臨時服務器
  4. PROD服務器。

開發人員完成編碼後,他將提交代碼並將票狀態更改爲Assigned以進行代碼審查,Jenkins將構建提交併將其部署到dev服務器中。開發團隊成員(審閱者)將執行代碼審查並將測試開發服務器中的構建。代碼審查完成後,審查人員會將故障單狀態更改爲已完成的代碼審查。我們希望在完成的代碼審查狀態中獲取所有票據,構建它並將其部署到QA服務器。 dev和QA服務器是由SVN中的同一分支構建的。 UAT和Prod由後備箱構成。

QA Build應該只包含已通過代碼審查階段的提交。 「完成的代碼審查」是Assembla中的一張票狀態。

任何幫助表示讚賞。

問候 KK

+1

建議您最好建立一個基於Subversion提交的自動化構建。 Jenkins內部版本號可以確保每個版本號都是唯一的。 Assembla Jenkins插件將鏈接所有對Assembla票據的更改(提供用於在Subversion提交消息中提交票號)。 –

+0

感謝Mark回覆。更詳細地更新了這個問題。 – user2309846

回答

0

Mark說什麼。 Plus: 爲什麼代碼審查一些未顯示的工作?如果你在詹金斯有另一項測試工作,你可以把這個工作與成功的發佈聯繫起來。

0

我建議使用二進制存儲庫管理器(如Nexus)來存放構建輸出,通常部署的文件。每個Subversion提交都會導致自動測試並保存到資源庫管理器中。 Jenkins的下游工作可以自動將其部署到開發服務器中進行自動化集成測試。

該方法的優點是,不是在構建系統內創建認證過程,而是將其集成到部署過程中。第二個好處是,每次部署到QA,Staging,Prod系統中始終使用相同的二進制文件。

值得注意的是,Nexus專業版通過其staging suite支持這種構建升級流程。所以這個過程可以使用票務系統在外部進行控制或集成到二進制存儲庫管理器中。

最後,Gerrit是一個代碼審查系統的例子,它具有許多您正在尋找的功能。不幸的是,它只支持Git。