云客户?
免费开始>
在MyJFrog中升级>
云的新功能>







概述

Artifactory支持PHP的作曲家存储库在现有的高级工件管理支持之上。

对Composer的人工支持提供:

  • 从Artifactory向Composer命令行工具提供来自所有存储库类型的Composer包。
  • 计算托管在Artifactory本地存储库中的Composer包的元数据。
  • 通过远程存储库访问远程Composer元数据存储库(Packagist和Artifactory Composer存储库)和包存储库(如Github、Bitbucket等)远程存储库它们提供代理和缓存功能。
  • 根据项目或开发团队分配访问权限。
  • 支持PHP Composer版本1和2 (虚拟存储库仅支持Composer版本2),
  • 支持从远程存储库下载Drupal文件版本7和8


页面内容


配置

局部存储库

要启用Composer包元数据的计算,从政府模块,转到存储库|知识库|本地并设置PHP作曲家成为包类型创建本地Composer存储库时。

Composer v2支持

Artifactory除了支持PHP Composer V1之外,还支持PHP Composer V2。从Artifactory 7.24.1 (SaaS版本)开始,本地PHP存储库将自动创建在V2它支持更快的下载时间和增强的性能。
PHP Metadata V2支持本地存储库索引,并遵循以下规则:

  • 您现有的Composer存储库将保持不变,并且启用Composer V1 Indexing复选框将设置为默认值。
  • 从这个Artifactory版本及以上版本开始,所有新创建的Composer存储库都将使用Composer版本2进行设置。禁用“启用编辑器V1索引”字段。

V1索引可以在本地基本存储库配置中启用或禁用,并且在应用更改后需要完全重新索引。

部署编写器包

Composer客户端不提供部署包的方法,它依赖于源代码控制存储库来托管Composer包代码。要将Composer包部署到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存储库,请遵循以下步骤:

  1. 政府模块,转到存储库|存储库|远程并设置PHP的作曲家成为它的包类型
  2. 设置库的关键,并输入存储库URL(例如:https://github.com/URL字段,如下所示。
  3. 作曲家设置部分中,选择GitHub随着Git提供者,并设置默认值注册网址(如。https://packagist.org/).
  4. 最后,点击保存并完成

URL与注册URL

为了避免混淆:

URL是实际包二进制文件所在的Git提供程序的URL。

注册网址指包索引文件存放托管元数据的URL。

要代理公共Composer注册中心,请设置注册网址字段设置为索引文件的位置,如上所示。要在另一个Artifactory实例中代理Composer存储库,请设置URLField和the注册网址字段到远程Artifactory存储库的API URL。例如:https://jfrog-art.com/artifactory/api/composer/composer-local


设置远程存储库与Drupal 7和8包类型相反

从Artifactory版本7.24.1 (SaaS用户)及更高版本开始,支持Composer V2,允许从远程存储库下载Drupal版本7和8文件。
定义要代理的远程存储库Drupal文件以及公共ComposerPackagist存储库遵循以下步骤。

  1. 政府模块,转到存储库| Repositories | Remote | Basic选项卡并设置PHP的作曲家成为它的包类型
  2. 将URL设置为https://ftp.drupal.org/
  3. 在PHP Composer Settings部分,设置注册网址字段https://packages.drupal.org/

虚拟存储库

一个虚拟存储库Artifactory中定义的聚合了包含在虚拟存储库中的本地和远程存储库中的PHP包。使用虚拟存储库非常有用,因为用户将继续使用虚拟存储库,而管理员可以管理包含的存储库,替换默认部署目标,并且这些更改对用户是透明的。

按照以下步骤定义虚拟PHP Composer存储库:

  1. 创建一个新的虚拟存储库政府模块,在存储库|知识库|虚拟,点击新建虚拟存储库并设置PHP的作曲家随着包类型
  2. 设置库的关键价值。

  3. 选择要包含的底层本地和远程PHP Composer存储库存储库部分。
  4. 您还可以选择配置您的默认部署存储库。

您可以在“高级”页签中设置以下内容。

人工请求可以检索远程工件

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包的选定元数据。
应用程序模块,转到工件|并向下钻取以选择要检查的包归档文件。元数据显示在作曲家信息选项卡。

  • 没有标签
版权所有©2023 JFrog Ltd.