配置
局部存储库
要启用Composer包元数据的计算,请从政府模块,去存储库|存储库|本地并设置PHP作曲家是包类型当您创建本地Composer存储库时。
作曲家v2的支持
除了V1之外,Artifactory还支持PHP Composer V2。从Artifactory 7.24.1 (SaaS版本)开始,本地PHP存储库将自动在V2这支持更快的下载时间和增强的性能。
PHP Metadata V2索引支持本地存储库,并遵循以下规则:
- 您现有的Composer存储库将保持不变,“启用Composer V1索引”复选框将设置为默认值。
- 从这个Artifactory版本及以上版本开始,所有新创建的Composer存储库都将设置为Composer版本2。“启用编写器V1索引”字段被禁用。
V1索引可以在本地基本存储库配置中启用或禁用,并且在应用更改后需要完全重新索引。
作曲家部署包
Composer客户端不提供部署包的方法,而是依赖源代码控制存储库来托管Composer包代码。要将Composer包部署到Artifactory中,您需要使用Artifactory REST API或者是Web UI.
Composer包通常是一个简单的存档邮政编码
或者一个tar.gz
文件,其中包含您的项目代码以及composer.json
描述包的文件。
版本
为了让Artifactory索引您上传的包,每个包都必须指定其版本。有三种方法指定包版本:
- 包括
版本
属性。composer.json
文件 - 设置一个
composer.version
属性在通过REST(或在现有包上)部署包时 - 使用版本字段在通过UI部署时
远程存储库
的公共作曲家库不包含任何实际的二进制包;它包含指向承载包代码的对应源代码控制存储库的包索引。
由于大多数公共Composer包都托管在GitHub上,我们建议创建一个Composer远程存储库作为…的缓存代理github.com,指定packagist.org作为公共包索引文件的位置。Artifactory中的Composer远程存储库可以代理packagist.org和用于索引文件的其他Artifactory Composer存储库,以及版本控制系统,如GitHub或BitBucket,或用于二进制文件的其他Artifactory实例中的本地Composer存储库。
编写器工件(例如邮政编码
,tar.gz
从远程存储库请求的文件)将被缓存对需求.您可以从远程存储库缓存中删除下载的构件,但是您不能手动将构件部署到远程存储库。
定义要代理的远程存储库github.com以及公共Composer Packagist库,请按照以下步骤进行:
- 从政府模块,去存储库|存储库|远程并设置PHP的作曲家是它的包类型
- 设置库的关键,并输入存储库URL(例如。
https://github.com/)
在URL字段如下所示。 - 在作曲家设置部分中,选择GitHub随着Git提供者,并保留默认值注册网址(如。https://packagist.org/).
- 最后,点击保存&完成.
URL vs.注册表URL
为了避免混淆:
的URL是Git提供程序的URL,实际的包二进制文件就驻留在这里。
的注册网址指包索引文件保存宿主元数据的URL。
要代理公共Composer注册表,请设置注册网址字段设置为上面显示的索引文件的位置。要在另一个Artifactory实例中代理Composer存储库,请设置URL场和注册网址字段连接到远程Artifactory存储库的API URL。例如:https://jfrog-art.com/artifactory/api/composer/composer-local
.
设置远程存储库与drupal7和8包类型相反
从Artifactory版本7.24.1 (SaaS用户)和更高版本支持Composer V2,允许从远程存储库下载Drupal版本7和8的文件。
定义要代理的远程存储库Drupal文件以及公共ComposerPackagist
存储库遵循以下步骤。
- 从政府模块,去存储库|存储库|远程端|基本页签并设置
PHP的作曲家
是它的包类型
. - 将URL设置为
https://ftp.drupal.org/
. - 在PHP Composer Settings部分下,设置
注册网址
字段https://packages.drupal.org/
虚拟存储库
一个虚拟存储库在Artifactory中定义的聚合了来自本地和远程存储库的PHP包,这些存储库包含在虚拟存储库中。使用虚拟存储库非常有用,因为用户将继续使用虚拟存储库,而管理员可以管理包含的存储库,替换默认部署目标,这些更改对用户是透明的。
按照以下步骤定义一个虚拟PHP Composer存储库:
- 中创建一个新的虚拟存储库政府模块,在存储库|存储库|虚拟,点击新的虚拟库并设置PHP的作曲家随着包类型.
设置库的关键价值。
- 选项下要包含的底层本地和远程PHP Composer存储库存储库部分。
- 您还可以选择配置默认部署存储库。
您可以在“高级”选项卡中设置以下内容。
Artifactory请求可以检索远程工件 |
一个Artifactory实例可以从另一个Artifactory实例中的虚拟存储库请求工件。此复选框指定当试图解析另一个Artifactory实例请求的工件时,虚拟存储库是否应该搜索远程存储库。例如,当Artifactory部署在网格(网格)体系结构中时,您可以使用该特性,并且您不希望Artifactory的所有远程实例充当其他Artifactory实例的代理。 |
使用Composer命令行
一旦安装了Composer客户机,您就可以通过Artifactory中的命令行接口访问Composer存储库。
编译器存储库必须在路径中以api/ Composer作为前缀
当通过Artifactory访问Composer存储库时,存储库URL必须加上前缀api /作曲家的路径。这适用于所有的Composer命令,包括作曲家安装
.
例如,如果您正在使用Artifactory独立或作为本地服务,您将使用以下URL访问您的Composer存储库:
http://localhost:8081/artifactory/api /作曲家/<库关键>
或者,如果您正在使用Artifactory Cloud, URL将是:
https:// < server name > .jfrog.io / artifactory /api /作曲家/<库关键>
创建了Composer存储库之后,从应用程序模块去Artifactory|工件|构件库浏览器并点击陷害我来获取代码片段,您可以使用这些代码片段来设置您的Composer库URLjson
文件。
作曲家配置。json文件
Windows: % userprofile % \ .composer \ json
Linux: ~ / .composer / json
更换默认存储库
控件中为Composer命令行指定的默认存储库json
文件如下:
{"repositories": [{"type": "composer", "url": "https://localhost:8081/artifactory/api/composer/composer-local"}, {"packagist": false}]}
使用安全URL (HTTPS)被认为是一种最佳实践,但您也可以使用不安全URL (HTTP)安全http配置假:
{"config": {"secure-http": false}, "repositories":[…]]}
身份验证
从2020年11月,GitHub在通过REST API进行身份验证时不再接受帐户密码,而是要求使用基于令牌的身份验证,例如个人访问令牌的所有经过身份验证的API操作GitHub.com.
清理本地编写器缓存
Composer客户机保存已下载的包的缓存,以及元数据响应。
我们建议在第一次使用Artifactory之前删除Composer缓存(包和元数据响应),这是为了确保您的缓存只包含来自Artifactory请求的元素,而不是直接来自Package的元素。要清除Composer缓存,运行以下命令:
作曲家clear-cache
composer.lock文件
在您的项目目录中已经有composer.lock文件包含不同的经销
url(下载url)的Artifactory,您需要删除它,否则,在运行时作曲家安装命令,编写器客户机将使用composer.lock文件的url
查看单个编写器包信息
Artifactory允许您直接从UI查看Composer包的选定元数据。
从应用程序模块,去工件|树并向下钻取以选择要检查的包存档文件。元数据显示在作曲家信息选项卡。