軟件製品倉庫集成conan方案

1 製品倉庫產品

Artifactory

是一款二進制存儲管理工具,用來管理構建構建工具(如:gradle)等所依賴的二進制倉庫,以方便管理第三方庫和發佈目標版本庫,從而提高軟件開發效率。它提供大量的插件以利於和不同工具之間的整合,內部使用權限管理更加安全,並支持高併發等等特性。

優點:功能全面,方便集成

缺點:收費,而且很貴。免費的版本功能閹割嚴重

Nexus

也是一款二進制存儲管理工具,與Artifactory相比,免費。可以集成jekins、conan等

優點:免費

缺點:插件不如前者豐富,集成也需要手動

2 Nexus集成conan方案

(2.1) 安裝nexus

直接官網下載最新版即可https://help.sonatype.com/repomanager3/download,下載後直接控制檯運行bin中:

./nexus.exe /install

./nexus.exe /run

(2.2) nexus默認並不支持conan倉庫,需要手動安裝額外的插件

插件git:https://github.com/sonatype-nexus-community/nexus-repository-conan

按照文檔說明,插件需要源碼編譯安裝:

mvn clean package -PbuildKar //構建

完成構建後,Copy the nexus-repository-conan-0.0.6-bundle.kar file from your ./target folder to the ./deploy folder for your Nexus Repository installation.

重啓nexus服務

(2.3) 登錄nexus,創建倉庫

能在Browse裏面看到,就算創建成功

(2.4) conan倉庫的配置

(2.4.1) 創建conan倉庫配置

注:blob是數據實際存儲的路徑,爲了方便移動和備份,建議不是默認

(2.4.2) 配置conan的security realms

激活conan的登錄token realm,否則conan客戶端無法登錄Nexus

然後就可以愉快體驗conan管理成果物了!

然而,nexus的conan插件更新慢,功能不全,截止至20191222甚至連search命令都不支持。

3 Artifactory 集成 conan 方案

下載Artifactory cpp版本:https://bintray.com/jfrog/product/JFrog-Artifactory-Cpp-CE/view

測試使用的是JFrog Artifactory CE 進行的私有包管理,具體的安裝可以參考相關文檔

啓動JFrog Artifactory CE

使用docker

docker run -d -p 8081:8081 docker.bintray.io/jfrog/artifactory-cpp-ce

conan 安裝

使用mac python3

pip3 install conan

1)創建 conan 私服

JFrog Artifactory CE 操作

基本配置保持默認即可

(2conan 集成使用

配置私服地址
參考界面

conan remote add myconan http://localhost:8081/artifactory/api/conan/conan-local

登陸私服,提示信息如下

conan user -p APcwSGCR7qgJ6KC -r myconan admin
Change 'myconan' user from None (anonymous) to admin

3)基本Conan 項目創建

- 創建一個包
conan new Hello/0.1 -t
File saved: conanfile.py
File saved: test_package/CMakeLists.txt
File saved: test_package/conanfile.py
File saved: test_package/example.cpp

- 創建一個基本的二進制包
conan create . demo/testing

4)部署

conan upload <recipe> -r myconan --all
<recipe>  格式: <NAME>/<VERSION>@<USER>/<CHANNEL>
具體如下:
conan upload Hello/0.1@demo/testing --all -r=myconan

效果

說明:
總的來說conan 對於包管理還是比較方便的,相比直接使用automake,cmake 有好多方便的地方,實際的使用還要多看官方文檔

參考資料
https://docs.conan.io/en/latest/introduction.html
https://www.jfrog.com/confluence/display/RTF/Installing+with+Docker

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章