一千萬個為什麽

搜索


我想嘗試從任何類型的項目(Java,Node,PHP,.net,go)上傳任何一組工件。

我知道,一旦開發人員將代碼推送到git中,Jenkins應該接受它並在其上運行測試用例。

如果它是成功的,那就把它推向生產?我對嗎?我不確定流量。

我想知道Nexus和Maven(它是否需要,如果是這樣,為什麽?)將會成為DevOps流程的一張圖片?

我知道Nexus它是存儲庫管理器(存儲工件[代碼編譯後的最終可執行文件(我們可以在Java中看到,但不在PHP或節點中)],請糾正我,如果我錯了。

我需要Maven嗎?

轉載註明原文: Devops Jenkins nexus集成?

一共有 1 個回答:

不,你不需要maven。

Maven是一個構建自動化工具,因為ant和gradle通常是但不限於基於jvm的項目。

Nexus是一個工件存儲庫,但其他一些存在。 Artifact存儲庫軟件具有不同的功能集(許可證,不同的存儲選項,不同的存儲庫類型支持,如gem或npm ...,搜索支持,Web界面...)。

我知道,一旦開發人員將代碼推送到git中,Jenkins應該接受並運行測試用例。

     如果是成功,那就把它推向生產?我對嗎?我不確定流量。

一般來說,為了實現連續部署,這正是您在此要求的內容,您可以:

  1. 當你提交時設置一個鉤子
  2. 有一個持續集成工具,可以接收鉤子
  3. CI為項目進行測試/構建/運行
  4. 做任何需要做的事情
  5. CI部署先前構建的軟件

例如,詹金斯支持將流水線作為代碼,它允許你在你的倉庫中放置一個 Jenkinsfile ,這會告訴詹金斯如何做第3步和第4步(travis和circleCI,其他CI也支持這個)。

您可以在步驟3中告訴您的CI將一些工件上傳到工件存儲庫,並在步驟4中檢索它們以部署軟件,但您不需要。

我的建議是以最簡單的方式設計你的CD系統,如果你不需要的話,不要介紹像神器存儲庫這樣的必要部件,當你遇到需要它的問題時添加它。

作為第一步,您的CI可以在部署步驟中簡單地將工件復制到目標服務器。