簡體   English   中英

適用於Linux的發布管理系統

[英]Release management system for Linux

我們公司需要的是一種Linux / C ++版本管理工具。 我們的產品包含多個庫和配置文件。 在這里,我將列出我們希望這樣的系統具有的基本功能:

  • 能夠跟蹤依賴關系,輕松增加依賴關系得到主要版本的庫的主要版本。 它應該在內部構建某種依賴圖,以便知道誰受到更新的影響。

  • 知道如何構建它所處理的產品。 要么是特定的構建文件,要么更好 - 能夠閱讀和理解makefile。

  • 使用SVN,以便從那里檢查新版本並進行構建。

  • 生成一些安裝程序 - 以rpm或tar.gz格式。 為此,它應該能夠理解rpm spec文件格式。

目前我們正在研究這種已經很有用的工具。 但是我相信我們的任務並不是獨一無二的,應該有一些工具可以完成這項工作。

您應該考慮使用Hudson,Maven(用於構建管理),Ivy(用於依賴管理)和Archiva(用於工件存檔)之間的混合。

另外,如果您正在研究cross.compilation,請查看Make Project Creator(MPC)和Bakefile。

玩得開心!!

看看DDJ中的這篇文章,其中介紹並實現了一個更強大的構建系統概念(比make)。 不確定它是否符合您的要求,但它是我見過的最接近的。 幾個月前我一直在尋找同樣的東西,然后我發現了這篇文章。

http://www.drdobbs.com/architect/218400678

在我正在開發的項目中,我們使用cmake和其他Kitware工具來處理本機代碼(C ++)的大部分問題。 逐點回答:

  • cmake腳本處理我們不同項目的依賴項。 我們有一個依賴圖,但我不知道它是否是一個自制腳本,或者它是cmake提供的功能。

  • 好的cmake生成關於平台的makefile。 如果在開發的情況下被要求這樣做,我會為eclipse cdt和visual studio生成項目。

  • Cmake有幾個工具,ctest和cdash,我們用它來進行日常構建,看看測試是如何進行的。

  • 為了創建安裝程序,cmake有cpack。 從一個腳本,它可以在Linux中生成tar.gz,deb或rpm文件或自動生成的NSIS腳本,以在Windows中生成安裝程序。

對於Java代碼,我們使用已在此處提到的maven和hudson。

Maven有一個本機代碼插件 我不認為它會做你想要的一切,但它擅長跟蹤依賴項的版本號,將構建文物,它將適用於你的VCS。

  • 不知道
  • cmake / scons:我使用過cmake,但我並不喜歡它,但我聽說scons真的很棒。 但是scons是基於python的,所以你需要在build / dev機器上安裝python。
  • 我使用Hudson ,它有一個從svn獲取的插件。 它通常是智能執行的,特別是只有在svn更新中某些文件發生更改時才構建。 哈德森很容易上手。 Hudson是基於Java的,並且非常受Java社區的歡迎。 這意味着它非常跨平台,但您需要在構建計算機上安裝JRE。
  • 可能可以在hudson中調用一些rpm工具。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM