Bamboo 部署项目到 Artifactory

Posted

技术标签:

【中文标题】Bamboo 部署项目到 Artifactory【英文标题】:Bamboo Deployment project to Artifactoy 【发布时间】:2014-02-26 20:03:59 【问题描述】:

我已经研究了一段时间,但找不到答案。 我使用 Bamboo 5.3 和 Artifactory 插件 1.6.2。我有一个生成一个 .war 和两个 .zip 的构建项目。我还有一个 Bamboo 部署项目,它使用这三个文件创建版本并部署到 DEV、QA 等。

对于构建项目,我可以使用 artifactory 插件,这很好。问题是,如果我发布所有构建,我最终会得到很多工件。我只想将版本中的文件发布到 Artifactory,这样发生的频率就会降低,人们只会看到 3-4 次发布尝试,而不是 150 次构建。

我的问题是,在创建我的部署任务(如下载、复制、调用 ssh 脚本...)时,没有像构建项目任务那样的“Artifactory Generic Deploy”。

我看到有一个新的 Bamboo 5.4 对部署过程进行了一些改进,也许这会有所帮助?

【问题讨论】:

我真的强烈建议您保留所有版本。如果您想节省空间,只需启用快照清理。 Bamboo 中的构建仍然存在。我只想将那些使它成为发行版的东西发送给 Artifactory。这样,需要在 PROD 中实施它们的人只能抓住那些。如果能够将 Release 推广到 Artifactory,那就太好了。 但是为什么你把它们放在 Bamboo 而不是 Artifactory 中呢? Bamboo 不打算保存二进制文件,Artifactory 是。如果您不希望别人看到您的快照,请配置快照存储库权限。 【参考方案1】:

从 Artifactory 插件的 1.8.0 版本开始,将支持从 Bamboo 到 Artifactory 的部署任务。

这是 Jira issue。

【讨论】:

【参考方案2】:

我遇到了类似的问题。希望 Artifactory 插件的下一个版本将与部署项目集成。

如果您愿意使用 Maven 来代理部署,deploy-file 可以完成工作。

在部署项目中,在您的工件下载任务之后,为您要发送的每个工件添加一个 Maven 3.x 任务。

您需要指定构建 JDK 和我使用的环境变量 MAVEN_OPTS="-DskipTests=true -XX:MaxPermSize=4096m"

对于实际的maven命令:

deploy:deploy-file 
-Durl=http://$bamboo.artifactory_username:$bamboo.artifactory_password@$bamboo.artifactory_url/artifactory/$bamboo.destinationRepo
-DrepositoryId=localhost
-Dfile=$bamboo.pathToArtifact/$bamboo.arftifactName-$bamboo.majorVersion.$bamboo.minorVersion.$bamboo.arftifactExtension
-DgroupId=$bamboo.arftifactGroup
-DartifactId=$bamboo.arftifactName
-Dversion=$bamboo.majorVersion.$bamboo.minorVersion
-Dpackaging=$bamboo.arftifactExtension
-DgeneratePom=true

希望这会有所帮助!

【讨论】:

在摆弄了一下之后,我得到了它的工作,并将其设置为新环境中的任务。我仍然需要更好地配置它以满足我的需求,但这可以为其他有问题的人做。谢谢!【参考方案3】:

artifactory API 非常适用于此目的。您可以在 shell 脚本中直接使用 curl 进行部署。

详情请见https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API。

【讨论】:

以上是关于Bamboo 部署项目到 Artifactory的主要内容,如果未能解决你的问题,请参考以下文章

将快照从 Bamboo 部署到 Artifactory 时遇到问题

从 Bamboo 6 发布到 Artifactory

无法使用 Jar 将 Pom 部署到 Artifactory

Bamboo 和 Artifactory 之间的语义版本控制?

Bamboo-artifactory 插件在 elactic 代理中不起作用

从 Bamboo 构建开始 Bamboo 部署