有问题吗?想要报告问题?联系JFrog支持

跳到元数据的末尾
进入元数据的开始

概述

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

对Composer的Artifactory支持提供:

  1. 从所有存储库类型将Composer包从Artifactory提供给Composer命令行工具的能力。
  2. 为托管在Artifactory本地存储库中的Composer包计算元数据。
  3. 通过访问远程Composer元数据存储库(Packagist和Artifactory Composer存储库)和包存储库(如Github, Bitbucket等)远程存储库提供代理和缓存功能。
  4. 根据项目或开发团队分配访问权限。

配置

局部存储库

若要启用Composer包元数据的计算,请设置PHP作曲家成为包类型当您创建本地Composer存储库时。

页面内容

部署Composer包

Composer客户端没有提供部署包的方法,而是依赖于源代码控制存储库来托管Composer包代码。要将Composer包部署到Artifactory中,您需要使用Artifactory的REST API或者是Web UI

Composer包是一个简单的归档文件,通常是zip或tar.gz文件,其中包含您的项目代码以及一个压缩包composer.json描述包的文件。

版本

为了让Artifactory索引您上传的包,每个包必须指定它的版本。有三种方法指定包版本:

  • 包括版本包中的属性composer.json文件
  • 设置一个composer.version通过REST(或在现有包上)部署包时的属性
  • 使用版本字段,当通过UI部署时

远程存储库

公共Composer存储库不包含任何实际的二进制包;它包含指向包代码所在的相应源代码控制存储库的包索引。

由于大多数公共Composer包都托管在GitHub上,我们建议创建一个Composer远程存储库作为…的缓存代理github.com,指定packagist.org作为公共包索引文件的位置。Artifactory中的Composer远程存储库可以进行代理packagist.org和其他用于索引文件的Artifactory Composer存储库,以及版本控制系统,如GitHub或BitBucket,或其他用于二进制文件的Artifactory实例中的本地Composer存储库。

缓存从远程存储库请求的Composer构件(如zip、tar.gz文件)对需求.您可以从远程存储库缓存中删除下载的构件,但是您不能手动将构件部署到远程存储库。

定义要代理的远程存储库github.com以及公共的Composer Packagist存储库,请遵循以下步骤:

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

URL vs.注册URL

为避免混淆,请注意:

URL是Git提供程序的URL,实际的二进制包驻留在那里。

注册网址是包含元数据的包索引文件所在的URL。

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


使用Composer命令行

一旦安装了Composer客户端,您就可以通过Artifactory的命令行界面访问Composer存储库。

Composer存储库必须在路径中加上api/ Composer前缀

当通过Artifactory访问Composer存储库时,存储库URL必须加上前缀api /作曲家在路上。这适用于所有Composer命令,包括作曲家安装

例如,如果你单独使用Artifactory或作为本地服务使用,你可以使用下面的URL访问你的Composer存储库:

http://localhost:8081/artifactory/api /作曲家/<库关键>

或者,如果您正在使用Artifactory SaaS, URL将是:

https:// < server name >。jfrog.io / <服务器名> /api /作曲家/<库关键>

一旦创建了Composer存储库,就可以在Tree Browser中选择它并单击给我介绍获取代码片段,您可以使用它来设置您的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":[…]]}

身份验证

为了针对Artifactory服务器对Composer客户机进行身份验证,可以配置Composer在您的auth.json文件如下:

{"http-basic": {"localhost": {"username": "mikep", "password": "APBJ7XgkrigBzb2XKTuwgnRq5vc"}}}

作曲家身份验证。json文件

窗口:% userprofile % \ .composer \ auth.json
Linux:~ / .composer / auth.json

一旦配置了Composer命令行工具,每个作曲家安装命令将从上面指定的Composer存储库中获取包。

清理本地作曲器缓存

Composer客户端保存已下载包的缓存以及元数据响应。
我们建议在第一次使用Artifactory之前删除Composer缓存(包括包和元数据响应),这是为了确保您的缓存只包含来自Artifactory请求的元素,而不是直接来自Packagist的元素。要清除Composer缓存,运行以下命令:

清理Composer缓存
作曲家clear-cache

composer.lock文件

在您的项目目录中已经有composer.lock文件包含不同的“dist”url(下载url)与Artifactory,您需要删除它,否则,当运行作曲家安装命令时,编写器客户端将使用composer.lock文件的url

查看单个编写器包信息

Artifactory允许您直接从UI查看Composer包的选定元数据。
工件选项卡上,选择树浏览器并向下钻取以选择要检查的包存档文件。元数据显示在作曲家信息选项卡。

  • 没有标签