当将 satis 指向 Gitlab 存储库时,它会选择一个镜像源 url 的 dist url,而不是找到 Gitlab Release 并使用 dist zip 工件。
假设您的 satis.json 如下所示:
{
"repositories": [
{ "type": "vcs", "url": "git@gitlab.com:group-name/project-name.git" },
],
"require-all": true
}
当你运行时satis build satis.json
,satis 将创建一个packages.json
如下所示的:
{
"packages": {
"group-name/project-name": {
"v1.0.1": {
"name": "group-name/project-name",
"version": "v1.0.1",
"version_normalized": "1.0.1.0",
"source": {
"type": "git",
"url": "git@gitlab.com:group-name/project-name.git",
"reference": "68da091ec3d6891e8519095a8066b28eb2261c20"
},
"dist": {
"type": "zip",
"url": "https://gitlab.com/api/v4/projects/group-name%2Fproject-name/repository/archive.zip?sha=68da091ec3d6891e8519095a8066b28eb2261c20",
"reference": "68da091ec3d6891e8519095a8066b28eb2261c20",
"shasum": ""
},
"require": {
"composer/installers": "v1.0.6"
},
"require-dev": {
"wp-coding-standards/wpcs": "^2.2"
},
"time": "2020-01-13T04:39:57+00:00",
"type": "wordpress-plugin"
}
}
}
问题
dist.url 只是对 Gitlab 的 API 调用,用于生成文件的 zip,因为它们出现在 git 存储库中。
但是我正在仔细构建一个 zip 可分发文件,作为我的 CI 构建的一部分,其中包含缩小的 javascript、生成的 css 等。然后,这个 zip 可分发文件作为工件附加到 Gitlab 版本。
我希望满足找到我的 GitLab 版本并使用 dist.url 中的 zip 工件。就我而言,它看起来像这样:
"dist": {
"type": "zip",
"url": "https://gitlab.com/api/v4/projects/11301246/jobs/400678589/artifacts/project-name-1.0.1.zip",
},