鲍尔部署包
Bower客户机不提供部署包的方法,它依赖于Git存储库来托管Bower包代码。
要将一个Bower包部署到Artifactory,您需要使用Artifactory的REST API或者是Web UI.
一个Bower包是一个简单的tar.gz
文件,该文件包含您的项目代码以及bower.json
描述包名称和版本的文件。
通常,您将使用自定义咕哝着说/狼吞虎咽地吃任务将您的项目打包到归档文件中,并将其部署到Artifactory。
版本属性
确保包括一个版本
财产在你bower.json
文件。属性可以手动添加,也可以使用鲍尔版本
命令。
远程存储库
公众鲍尔注册表不包含任何实际的二进制包;它是一个简单的键值存储,从包名指向其等价的Git存储库。
因为大多数包都驻留在GitHub中,所以您需要创建一个远程存储库哪一个作为缓存代理github.com.如果有必要,你可以做同样的bitbucket.org或任何其他要访问的远程存储库。
与Bitbucket都工作吗?
如果你的包托管在Bitbucket(以前的Stash)上,你需要确保Bitbucket存档插件安装在你的Bitbucket服务器上。
构件(如tar.gz
从远程存储库请求的文件)将按需缓存。您可以从远程存储库缓存中删除下载的构件,但是您不能手动将构件部署到远程存储库。
要定义一个远程存储库来代理github.com和公共Bower注册表,请遵循以下步骤:
- 中创建新的远程存储库政府模块,在存储库|存储库|远程,单击“新建远程存储库”并设置鲍尔是它的包类型
- 设置库的关键值,并输入
https://github.com
在URL字段如下所示。 - 在鲍尔设置部分中,选择GitHub随着Git提供者.
最后,点击“保存并完成”
鲍尔注册网址
通常,你会指向鲍尔注册网址字段在公共注册表中显示。
但是,如果您正在使用私有的控件注册表或远程Artifactory实例,只需设置与中配置相同的URLURL字段。
Bower已经更改了他们在Artifactory中配置的默认注册表URL。为了从公共注册中心解析,请将注册中心URL设置为https://registry.bower.io
.
虚拟存储库
Artifactory中定义的虚拟存储库聚合来自本地和远程存储库的包。
这允许您从为虚拟存储库定义的单一URL访问本地托管的Bower包和远程代理的Bower注册中心。
要创建一个虚拟的Bower存储库集鲍尔是它的包类型,而且选项下要包含的底层本地和远程Bower存储库存储库部分.
高级配置
下的字段外部依赖项重写被连接到自动重写外部依赖项需要它们的包房包。
使依赖项重写 |
选中后,将启用自动重写外部依赖项。 |
缓存的远程存储库 |
由将缓存外部依赖项的虚拟存储库聚合的远程存储库。 |
模式允许列表 |
ant风格的路径表达式允许列表,指定从哪里下载外部依赖项。默认情况下,设置为**这意味着依赖关系可以从任何外部源下载。 例如,如果您希望将外部依赖限制为只能从 |
使用Bower命令行
Bower存储库必须在路径中以api/ Bower作为前缀
当通过Artifactory访问Bower存储库时,存储库URL必须加上前缀api /鲍尔的路径。这适用于所有的Bower命令,包括鲍尔安装
而且鲍尔信息。
例如,如果您正在使用Artifactory独立或作为本地服务,您将使用以下URL访问您的Bower存储库:
http://localhost:8081/artifactory/api /鲍尔<库关键>
或者,如果您正在使用Artifactory Cloud, URL将是:
https:// < server name > .jfrog.io / artifactory /api /鲍尔<库关键>
Artifactory已经更新到与最新版本的Bower客户端从版本1.5无缝工作,并且还支持较老版本的Bower。
Bower的旧版本
如果您的Bower版本低于1.5,请参考使用旧版本的Bower.
使用Bower版本1.5及以上
为了在Artifactory中使用Bower,你需要两个组件(npm包):
- bower-art-resolver-一个定制的,可插拔的亭解析器,专门与Artifactory集成。
- 鲍尔- - - - - -鲍尔版本1.5.0及以上。
安装了Bower之后,通过编辑您的~ / .bowerrc
配置文件
{"resolvers": ["bower-art-resolver"]}
鲍尔文档
有关更多信息,请参阅Bower文档可插拔的解析器.
将默认注册表替换为指向Artifactory中的Bower存储库的URL~ / .bowerrc
配置文件(下面的示例使用带有密钥的存储库bower-repo
):
{"registry": "http://localhost:8081/artifactory/api/bower/bower-repo"}
使用鲍尔速记解析器
如果您想配置Bower速记解析器以与Artifactory一起工作,请参阅鲍尔速记解析器在下面。
.bowerrc文件位置
窗口:% userprofile % \ .bowerrc
Linux:~ / .bowerrc
我们建议参考虚拟存储库URL作为注册表。这为您提供了灵活性重新配置和聚合您部署的其他外部源和本地库的Bower包。
一旦配置了Bower命令行工具,每鲍尔安装
命令将从上面指定的库中获取包。例如:
$ bower install bootstrap bower bootstrap#* not-cached art://twbs/bootstrap#* bower bootstrap#* resolve art://twbs/bootstrap#* bower bootstrap#* extract archive.tar.gz bower bootstrap#* resolved art://twbs/bootstrap#e-tag:0b9cb774e1
使用旧版本的Bower
在没有匿名访问的情况下与Artifactory合作
默认情况下,Artifactory允许匿名访问Bower存储库。它的定义是安全|通用配置.详情请参阅允许匿名访问.
如果希望能够跟踪用户与存储库的交互方式,则需要取消选中允许匿名访问设置。这意味着用户需要输入用户名和密码。
不幸的是,Bower命令行工具不支持身份验证,您需要将凭据添加到中配置的Bower注册表的URL~ / .bowerrc:
{"注册表":"http://admin:password@localhost:8081/artifactory/api/bower/bower-repo"}
使用加密密码
使用加密密码,而不是明文密码;看到集中安全密码.
清理本地窗口缓存
Bower客户机保存下载的包的缓存,以及元数据响应。
我们建议在第一次使用Artifactory之前删除Bower缓存(包和元数据响应)。这是为了确保您的缓存只包含来自Artifactory的请求而不是直接来自Artifactory的元素https://registry.bower.io.
清除缓存的使用情况。
鲍尔缓存清理
自动重写外部依赖项
Bower客户机请求的包经常使用包中定义的外部依赖项。鲍尔. json
文件。反过来,这些依赖可能需要额外的依赖。因此,在下载Bower包时,您可能无法完全看到原始包所需的全部依赖项(无论是直接的还是传递的)。因此,您可能会从未知的外部资源下载恶意依赖项。2022世界杯阿根廷预选赛赛程为了管理这个风险,并通过Artifactory维护使用外部包的最佳实践,您可以指定一个“安全的”白名单,从这个白名单中可以下载依赖项,缓存到Artifactory中,并配置重写依赖项,以便Bower客户端通过虚拟存储库访问依赖项,如下所示:
- 检查使依赖项重写在Bower虚拟存储库高级配置中。
- 指定可以从中下载依赖关系的外部资源的白名单模式。2022世界杯阿根廷预选赛赛程
- 指定应该在其中缓存这些依赖项的远程存储库。
最好为此目的配置一个专用的远程存储库,以便更容易维护。
在下面的例子中,外部依赖项将被缓存在“bower”远程存储库中,并且仅包从https://github.com/jfrogdev
都允许缓存。
重写工作流
在下载Bower包时,Artifactory分析包所需的依赖项列表。
如果任何依赖托管在外部资源(例如2022世界杯阿根廷预选赛赛程
github.com
),这些资源在白名单中指定2022世界杯阿根廷预选赛赛程,Artifactory将从外部资源下载依赖项。
Artifactory将在配置为缓存外部依赖项的远程存储库中缓存依赖项。
然后Artifactory将修改包中的依赖项包. json文件在返回给Bower客户端之前,指示它在Artifactory远程存储库缓存中的新位置。
因此,每当Bower客户机需要访问依赖项时,它将从Artifactory远程存储库缓存中的新位置进行供应。
使用鲍尔速记解析器
运行时鲍尔安装
在一个bower.json
文件中的自定义模板。bowerrc
通过添加以下行文件。
shorthand-resolver”:“艺术:/ /{{所有者}}/{{包}}”
从v4.11版本开始,对于从远程存储库下载的包,Artifactory支持解析使用鲍尔速记解析器对于托管在GitHub上的依赖.简写解析器的使用反映在Bower安装输出中,在简写解析器依赖项中,以$ $ $ art-shorthand-resolver $ $ $
.例如:
鲍尔mypackagetest # $ $ $ art-shorthand-resolver $ $ $ - <用户名> -mypackagetest-master.tar.gz not-cachedart: / / <用户名> / mypackagetest # $ $ $ art-shorthand-resolver $ $ $ - <用户名> -mypackagetest-master.tar.gz鲍尔mypackagetest # $ $ $ art-shorthand-resolver $ $ $ - <用户名> -mypackagetest-master.tar.gz resolveart: / / <用户名> / mypackagetest # $ $ $ art-shorthand-resolver $ $ $ - <用户名> -mypackagetest-master.tar.gz鲍尔mypackagetest # $ $ $ art-shorthand-resolver $ $ $ - <用户名> -mypackagetest-master.tar.gzresolvedart: / / <用户名> / mypackagetest # $ $ $ art-shorthand-resolver $ $ $ - <用户名> -mypackagetest-master.tar.gz
注册鲍尔包
从版本4.6开始,Artifactory是一个Bower注册中心,允许您通过远程和虚拟存储库注册Bower包。这意味着您可以直接从您的私有Git存储库中检索凉亭包。
在创建私有远程存储库时,注册中心URL是多余的,可以保持原样。
例如,一个私人Stash服务器托管在http://stash.mycompany.com:7990
一个名为“artifactory”的项目将注册如下:
Bower注册artifactory ssh://git@stash.mycompany.com:7999/artifactory/artifactory.git
注册服务器之后,要从隐藏服务器下载Bower包并将其缓存到Artifactory中的远程Bower存储库中(供用户访问),只需运行即可
鲍尔安装artifactory
查看单个机箱包信息
Artifactory允许您直接从UI查看Bower包的选定元数据。
在工件选项卡上,选择树浏览器并向下钻取选择zip / tar.gz
要检查的文件。元数据显示在鲍尔信息选项卡。