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

JFrog支持
2023-01-22 11:05

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

对于第一个请求:

bowwer info mypackagetest

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

...

你可以看到坐标不在缓存中Bower正在为这些坐标写not-cached。

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

bowwer info mypackagetest

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

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

例如,创建一个带有多个标记的包,并在用户alexeiv下部署到我们的服务器。这个属性是用~alexeiv/mypackagetest的值创建的,在运行bower信息时,它工作了:

bowwer info mypackagetest

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

Bower mypackagetest#* resolve art://~alexeiv/mypackagetest#*

Bower mypackagetest#*解析art://~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。现在我们运行bower info命令。它失败了,因为它去了之前的坐标:

bowwer info mypackagetest

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

Bower mypackagetest#*验证1.3.1针对艺术://~alexeiv/mypackagetest#*

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

如您所见,Bower仍然使用缓存。我们运行凉亭缓存清理命令并再次运行bower info,但是仍然得到相同的结果:

bowwer info mypackagetest

Bower mypackagetest#* not-cached art://~alexeiv/mypackagetest#*

Bower mypackagetest#* resolve art://~alexeiv/mypackagetest#*

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

这是因为同一个包名有多个值。一旦我们删除了旧值并再次清理了凉亭缓存,它就工作了:

bowwer info mypackagetest

Bower mypackagetest#*未缓存的艺术://sup/mypackagetest#*

Bower mypackagetest#*解析art://sup/mypackagetest#*

Bower mypackagetest#*解析art://sup/mypackagetest#1.3.1

....

可用版本:

——1.3.1

1.3.0——版本

- - - - - - 4

- - - - - - 1.2.3

- - - - - - 1.2.2

- - - - - - 1.2.0

如果bower安装仍然转到旧的注册表,您将需要从远程存储库的属性中删除旧的值(可以在Artifactory UI→Artifacts→repository name→properties选项卡中完成)。您还需要运行bowwer缓存清理。完成这些操作后,您将能够运行bower info命令。