从 jenkins Freestyle 项目部署工件

Deploy Artifacts from jenkins Freestyle project

我将 Jenkins 作业配置为自由式项目。这项工作实际上是在构建一个 Maven 项目,但我已将其配置为自由式,以便能够调用 virtualenv 构建器 (build steps) 到 运行 一组用 python 编写的回归测试和 shell.

不幸的是,自由式项目似乎不支持 post 构建操作来像普通 Maven 项目那样部署工件(特指 deploy artifacts 操作)。知道我该如何解决吗?

另一方面,如果我选择将项目构建为普通的 Maven 项目,那么我无法调用 virtualenv 构建器,因此无法 运行 回归测试。

我想我可以将构建分为两项工作,一项是构建工件并将其部署到工件,第二项是检索它并 运行 进行回归测试。但这意味着如果第二个作业失败,则必须删除已部署的工件。这不是很理想。

自由式作业支持 shell 或 bat post-构建步骤,您可以在其中键入所需的命令。

这里是一个 maven deploy-file 命令,用于部署到您的 Maven 存储库(一个 Artifactory 存储库)

mvn deploy:deploy-file -Durl=http://myartifactory/artifactory/repositoryId \
  -DrepositoryId=repositoryId -Dfile=target\my.jar \ 
  -DgroupId=org.group -DartifactId=art -Dversion=3.0-SNAPSHOT -Dpackaging=jar

如果你在工作期间知道你的 GAV,你可以通过命令行部署它。