柯南
包
x射线扫描柯南的包裹和扫描其他类型的包裹是一样的。x射线数据将只显示conanmanifest.txt
文件。可以在Conan配方文件中添加可选的供应商字段,以防止误报。
构建
控件可以将Conan构件和依赖项作为BuildInfo的一部分提供conan_build_info命令。
C / c++构建
Xray仅支持将C/ c++包作为构建依赖项扫描。操作步骤如下:
- 创建一个build-info列表,列出所有想要扫描的C/ c++包。请参阅build-info创造的例子。
- 上传构建到Artifactory,并执行x射线扫描。
有关更多信息,请参见构建上传REST API.
这个过程需要根据build-info模式手动创建和上传C/ c++ build-info。它还需要扫描所有C/ c++库的列表。对于每个组件,您需要提供名称和版本;供应商是可选的。
在BuildInfo中,执行以下操作:
- 指定一个cpp模块,并设置
cpp
作为模块类型。 - 在依赖项部分,列出构建的所有cpp组件。每个cpp组件必须包含:
- Sha1
- ID:由组件的供应商、名称和版本组成,形式为:"
(供应商):名称:版本
”。请注意,“vendor”字段是可选的。
示例:
{“版本”:“1.0.1”、“名称”:“MyBuildName”,“数量”:“42”,“类型”:“通用”,“开始”:“2021 - 01 - 19 t15:47:52.000z”、“buildAgent”:{“名称”:“私人建造者”,“版本”:“1.0”},“模块”:[{" id ": " <模块id >”,“类型”:“cpp”、“依赖”:[{“sha1”:“< sha1 >”,“md5”:“< md5 >”,“id”:“< vendor1 >: < name1 >: < version1 >”,“类型”:“cpp”},{“sha1”:“< sha1 >”,“md5”:“< md5 >”,“id”:“< vendor2 >: < name2 >: < version2 >”,“类型”:“cpp " } ] } ] }
Build-info创建示例:
#选择A或B或C(取决于你的依赖项所在的位置):## A.添加构建信息依赖项,位于本地硬盘# ##### jfrog rt bad myLibs/ cpp_build 1 ## B.添加构建信息依赖项,位于Artifactory # ##### jfrog rt bad mcy- cppp -deps/——from-rt=true cpp_build 1 ## C.添加构建信息依赖项,从Artifactory ##### jfrog rt dl mcy- cppp -deps/ cpp_build 1 #生成构建信息并将其保存为JSON文件jfrog rt bp——dry-run=true cpp_build 1 > build_info。Json #下面的命令将:在模块# 2中添加type=cpp。为每个依赖# 3添加type=cpp。更新每个依赖项jq '的组件id。Modules [] += {"type":"cpp"}' build_info. Modules []json | \金桥”.modules [] .dependencies[] + ={“类型”:“cpp”}’| \金桥”(.modules [] .dependencies[] |选择(。id = =“Poco.dll”)| .id) | =“少:1.8.0”“| \金桥”(.modules [] .dependencies[] |选择(。id = =“libcurl.dll”)| .id) | =“haxx: libcurl: 7.70.0”“| \金桥”(.modules [] .dependencies[] |选择(。id = =“sqlite.dll”)| .id) | =“sqlite: 3.15.1”“| \金桥”(.modules [] .dependencies[] |选择(。id = =“zlib.dll”)| .id) | =“zlib: 1.2.0”> build_info_xray。-T build_info_xray.json # upload info jfrog rt curl -XPUT /api/build -H "Content-Type: application/json