有问题吗?想要报告问题?联系JFrog支持

跳到元数据的末尾
进入元数据的开始

概述

Artifactory支持CocoaPods存储库在其现有的支持用于高级工件管理。

对CocoaPods的Artifactory支持提供:

  1. 能够从本地和远程存储库将CocoaPods包从Artifactory提供给pod命令行工具。
  2. 为托管在Artifactory本地存储库中的pod计算元数据。
  3. 访问远程CocoaPods Specs存储库(例如https://github.com/CocoaPods/Specs)通过远程存储库它们提供了常用的代理和缓存功能。
  4. 根据项目或开发团队分配访问权限的能力。

页面内容


配置

局部存储库

启用CocoaPods包元数据集的计算CocoaPods成为包类型当您创建本地CocoaPods存储库时。

新的CocoaPods本地存储库

部署豆荚

CocoaPods客户端没有提供部署包的方法,并且主要(虽然不是唯一的)依赖于Git存储库来托管pod的代码。

要将pod部署到Artifactory中,您需要使用Artifactory的REST API或者是Web UI

豆荚是一个简单的tar.gz文件,其中包含您的项目代码以及.podspec或.podspec.json描述包元数据的文件。

豆荚的文件

虽然客户端支持更多的扩展,但Artifactory CocoaPods本地存储库目前只支持归档为tar.gz的pod

远程存储库

公众CocoaPods Specs回购不包含任何实际的二进制包;它是一个包含podspec.json从包名和版本指向其存储端点的文件。
由于大多数包托管在GitHub上,您需要创建一个远程存储库哪个作为缓存代理github.com.如果有必要,您也可以为bitbucket.org或其他要访问的远程存储库。

使用低于5.1版本的Stash ?

如果你的包托管在Bitbucket(以前的Stash)上,你需要确保你的Bitbucket服务器上安装了Stash存档插件。

从远程存储库请求的工件(如tar.gz文件)将根据需要缓存。您可以从远程存储库缓存中删除下载的构件,但是您不能手动将构件部署到远程存储库。

要定义一个远程存储库来代理github.com以及公共Specs回购,请遵循以下步骤:

  1. 创建一个新的远程存储库并设置CocoaPods成为它的包类型
  2. 设置库的关键值,并输入https://github.comURL字段,如下所示
    CocoaPods远程存储库

  3. CocoaPods设置部分中,选择GitHub随着Git提供者,并保留默认值注册网址https://github.com/CocoaPods/Specs).
    最后,点击“保存并完成”


Specs Repo URL

通常,你会点Specs Repo URL如上所示,在public Specs repo中配置字段。

但是,如果您使用的是私有Specs repo,请将URL设置为与URL字段。

如果远程URL是一个Artifactory实例,您需要附加它的URL/ api /豆荚回购> / <比如http://art-prod.company.com/artifactory/api/pods/pods-local

私有比特桶服务器

使用私有比特桶服务器?将“Git Provider”设置为Stash,并且Bitbucket都。公共Bitbucket端点响应一些私有Bitbucket服务器不响应的API调用,因此,在使用私有Bitbucket服务器时,将Git Provider设置为Stash是很重要的。在这种情况下,URL字段应该是你的比特桶服务器的根,Specs Repo URL应该是比特桶中Specs Repo的完整URL。


使用Pod命令行

CocoaPods存储库必须在路径中以api/pods作为前缀

当通过Artifactory访问CocoaPods存储库时,存储库URL必须加上前缀api /豆荚在路上。这适用于Pod repo-art添加命令。

例如,如果您使用Artifactory独立或作为本地服务,您将使用以下URL访问您的CocoaPods存储库:

http://localhost:8081/artifactory/api /豆荚<库关键>

或者,如果您正在使用Artifactory SaaS, URL将是:

https:// < server name >。jfrog.io / <服务器名> /api /豆荚<库关键>

Artifactory已经从0.39.0版本升级到与CocoaPods客户端的最新版本无缝对接

使用cocoapods-art

为了与Artifactory一起使用CocoaPods,您需要CocoaPods -art插件,该插件将Artifactory存储库显示为Specs reppos和pod源代码。

你可以下载cocoapods-art插件作为一个Gem,它的源代码可以在GitHub

要在CocoaPods中使用Artifactory,请执行以下步骤:

  1. 安装cocoapds -art插件:

    宝石安装椰子艺术

    使用Hombrew ?

    我们建议同时安装CocoaPods客户端和CocoaPods -art插件。与Homebrew一起安装可能会导致插件所依赖的CocoaPods钩子机制出现问题。

  2. 方法添加Artifactory存储库Pod 'repo-art add'命令:

    Pod repo-art add  http://localhost:8081/artifactory/api/pods/


  3. 添加存储库之后,在您的Podfile

    在Podfile中添加Artifactory源代码
    插件'cocoapods-art',:sources => ['']

在没有主存储库的情况下工作?

如果您已经从系统中删除了CocoaPods Master存储库,则由于已知的问题使用CocoaPods stats插件,你需要在Podfile中添加以下内容,或者在你的环境中添加相应的变量:

ENV['COCOAPODS_DISABLE_STATS'] = 'true'

详情请参考JFrogJira

本地回购名称是您在添加specs回购时在本地指定的名称。

Pod repo-art命令

cocoapods-artPlugin公开了通常调用的大多数命令豆荚回购(即添加,更新,列表等)。使用豆荚repo-art而不是豆荚回购无论何时处理人工工厂支持的Specs存储库。

CocoaPods本地Specs回购位置

~ / .cocoapods /回购

pod命令行工具配置完成后,每一个圆荚体安装命令将从上面指定的CocoaPods存储库中获取pod。

同步的cocoapods-art插件的存储库与Artifactory

与cocoapods客户端的默认行为相反,cocoapods-art插件不会在您运行客户端命令(例如install)时自动更新其索引。为了让你的插件索引与你的CocoaPods存储库保持同步,你需要通过执行以下命令来更新它:

豆荚回购艺术更新

在没有匿名访问的情况下使用Artifactory

默认情况下,Artifactory允许匿名访问CocoaPods存储库。它的定义是安全|总体配置.详情请参阅允许匿名访问
控件,如果希望能够跟踪用户如何与存储库交互,则需要取消选中允许匿名访问设置。这意味着用户需要输入用户名和密码。
不幸的是,pod命令行工具不支持针对http端点的身份验证。的cocoapods-artPlugin通过强制curl (pod用于所有HTTP请求)使用. netrc文件:

.netrc文件示例
Machine art-prod.company.com登录admin密码密码

因为Artifactory还支持使用您的基本身份验证API密匙,你可以用它代替你的密码:

.netrc文件使用您的API密钥
machine art-prod.company.com登录admin密码AKCp2TfQM58F8FTkXo8qSJ8NymwJivmagefBqoJeEBQLSHCZusEH6Z2dmhS1siSxZTHoPPyUW

使用加密密码

我们建议使用加密密码,而不是明文密码。详情请参阅统一安全密码


清理本地Pod缓存

pod客户端保存已下载的pod的缓存,以及元数据。
我们建议在第一次使用Artifactory之前删除CocoaPods缓存(包和元数据响应)。这是为了确保您的缓存只包含来自Artifactory请求的元素,而不是直接来自其他Specs回购的元素。

清除pod缓存使用:

Clean Pod Cache
Pod缓存清理

观看录像

观看这段简短的截屏,了解在Artifactory中托管rpm是多么容易。