2

如何将 Debian 软件包从 Jenkins 部署到 Artifactory Debian 存储库?
我在 Jenkins Freestyle 作业中使用了一个命令:

curl -uUSER:PASS -XPUT "https://ARTIFACTORY_URL/REPO/pool/package.deb;deb.distribution=xenial;deb.component=main;deb.architecture=amd64" -T ./package.deb

但在这种情况下,不会在 Artifactory 与 Jenkins 之间创建任何引用。这意味着,我们无法将 Jenkins 构建与 Artifact 联系起来。
接下来,我们尝试使用管道并在创建 Debian 软件包后从 Freestyle 调用它。但同样,没有关于使用 DSL 上传 Debian 软件包的wiki/支持。
而且似乎FileSpec不支持 Debian 软件包。

如何传递架构/分布/组件?

有没有人有将 Debian 软件包部署到 Artifactory 的经验?听起来很容易,但我仍然错过了一些东西。

4

2 回答 2

8

要将 debian 包上传到工件,您可以在管道中使用 fileSpec,如下所示:

{
  "files": [
    {
      "pattern": "YOUR_ARTIFACT_PATH",
      "target": "https://ARTIFACTORY_URL/REPO/pool/",
      "props": "deb.distribution=xenial;deb.component=main;deb.architecture=amd64"
    }
  ]
}
于 2018-06-25T07:48:45.363 回答
2

你可以用 jfrog-cli 简单地做到这一点:

jfrog rt u --deb=<distribution>/<component>/<architecture> <debian-package> <debian-repo>/pool/<component>/<first-latter-of-package-name>/<package-name>/<debian-package>

例如:上传 cassandra

jfrog rt u --deb=bionic/main/all cassandra_1.2.3_all.deb debian-local/pool/main/c/cassandra/cassandra_1.2.3_all.deb

于 2021-02-15T12:03:45.240 回答