注册命令如何与Artifactory一起工作以及如何取消注册包

JFrog支持
2023-01-22 11:05

一旦向Artifactory注册了一个包,在远程存储库上就会添加一个属性:wer.pkg.{package_name}。这个属性的值实际上是远程服务器上的包的路径(user/package_name)。当您搜索包(例如使用install、info、search命令)时,然后Artifactory搜索属性wer.pkg。{package_name}并根据属性值创建URL。在服务器端,包信息保存在缓存中。这意味着如果请求的包在缓存中,那么Bower将使用缓存将包坐标发送给Artifactory。例如:

对于第一个请求:

请输入mypackagetest

鲍尔mypackagetest # *不会被缓存艺术:/ / / mypackagetest # *一同坐席

你可以看到坐标不在缓存中,鲍尔为这些坐标写了非缓存。

对于第二个请求,由于它已经被缓存,返回将使用缓存:

请输入mypackagetest

鲍尔mypackagetest # *缓存艺术:/ /吃晚饭/ mypackagetest # 1.3.1

另一点是,由于您在现有包上执行了bower register命令,因此该属性被添加了附加值。Artifactory不支持这一点。Artifactory将始终使用第一个属性值来创建适当的坐标。

例如,创建一个包含多个标记的包,并以用户alexeiv的身份部署到服务器上。这个属性是用值~alexeiv/mypackagetest创建的,在运行bower info后,它工作了:

请输入mypackagetest

鲍尔mypackagetest # *不会被缓存艺术:/ / ~ alexeiv / mypackagetest # *

解析://~alexeiv/mypackagetest#*

//~alexeiv/mypackagetest#1.3.1

.....

可用版本:

——1.3.1

1.3.0——版本

- - - - - - 4

- - - - - - 1.2.3

- - - - - - 1.2.2

- - - - - - 1.2.0

我们更改了存储库,所以现在它在sup/mypackagetest下。我们再次运行bower register命令,该属性被更新为附加值sup/mypackagetest。现在我们运行wer info命令。它失败了,因为它去了之前的坐标:

请输入mypackagetest

鲍尔mypackagetest # *缓存艺术:/ / ~ alexeiv / mypackagetest # 1.3.1

//~alexeiv/mypackagetest#*

对http://localhost:9090/artifactory/api/bower/bower-stash/refs/~alexeiv/mypackagetest的请求返回404状态码。

正如您所看到的,鲍尔仍然使用缓存。我们运行鲍尔缓存清理命令并再次运行bower info,然而,仍然得到相同的结果:

请输入mypackagetest

//~alexeiv/mypackagetest#*

解析://~alexeiv/mypackagetest#*

对http://localhost:9090/artifactory/api/bower/bower-stash/refs/~alexeiv/mypackagetest的请求返回404状态码。

这是因为相同的包名有多个值。当我们删除旧值并再次清理bower缓存时,它就工作了:

请输入mypackagetest

//sup/mypackagetest#*

解析://sup/mypackagetest#*

//sup/mypackagetest#1.3.1

可用版本:

——1.3.1

1.3.0——版本

- - - - - - 4

- - - - - - 1.2.3

- - - - - - 1.2.2

- - - - - - 1.2.0

如果wer install仍然转到旧的注册表,则需要从远程存储库的属性中删除旧值(可以在Artifactory UI→Artifacts→存储库名称→properties选项卡中完成)。您还需要清空电源缓存。完成这些操作后,您将能够运行wer info命令。