从Jenkins部署Debian到Artifactory仓库

时间:2018-06-24 14:56:55

标签: debian jenkins-pipeline artifactory jfrog-cli

如何将Jenkins的Debian软件包部署到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之间未创建任何引用。意思是说,我们无法在詹金斯建筑与人工制品之间建立联系。
接下来,我们尝试使用管道,并在创建Debian软件包后从Freestyle调用它。但是同样,没有wiki/support关于使用DSL上传Debian软件包的信息。
似乎FileSpec不支持Debian软件包。

如何传递体系结构/发行版/组件?

有人在将Debian软件包部署到Artifactory方面有经验吗?听起来很简单,但我仍然想念一些东西。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

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

{
  "files": [
    {
      "pattern": "YOUR_ARTIFACT_PATH",
      "target": "https://ARTIFACTORY_URL/REPO/pool/",
      "props": "deb.distribution=xenial;deb.component=main;deb.architecture=amd64"
    }
  ]
}