我刚刚想通了,如何发布到 CB 托管的 maven “发布”存储库。我想弄清楚如何将标记版本部署到 CB 应用程序。我了解,我可以手动上传 WAR 文件,但是否有任何脚本。据我所知,用于 CB 的 maven 插件不支持它。
我有一个应用服务器正在运行来自 jenkins 的快照构建。我有其他应用服务器,我只想部署标记/发布的工件。
我刚刚想通了,如何发布到 CB 托管的 maven “发布”存储库。我想弄清楚如何将标记版本部署到 CB 应用程序。我了解,我可以手动上传 WAR 文件,但是否有任何脚本。据我所知,用于 CB 的 maven 插件不支持它。
我有一个应用服务器正在运行来自 jenkins 的快照构建。我有其他应用服务器,我只想部署标记/发布的工件。
有四种方法可以将应用程序部署到 CloudBees RUN@cloud 服务:
使用bees
SDK 提供的命令
使用bees-maven-plugin
通过 Web GUI 使用手动上传
为 Jenkins 使用 CloudBees Deployer 插件
您选择哪个选项取决于部署将从何处进行……我所说的来自哪台机器正在执行部署,而不是文件的来源。
如果从 Jenkins 作业运行,最好的选择是 Jenkins 插件。
如果从您自己的笔记本电脑上运行,则 web ui 或bees
命令是最简单的。
如果作为 maven 构建的一部分运行,则 maven 插件是最简单的......(尽管我应该警告 maven 插件(暂时移除我的 cloudbees 帽子并戴上我的 maven PMC 帽子)很糟糕,而且一切都是愚蠢的;-) )
您最好的选择是设置一个使用依赖项的 Jenkins 作业:get 从 repo 中提取工件,然后添加一个 cloudbees 部署程序构建步骤以推送到 RUN@cloud
好消息是,在我们的路线图上将 maven 插件打造成更像 maven 的东西......希望这将启用像您可以使用 ship-maven-plugin@mojo 实现的操作,您可以在其中为“shipping”指定特定的发布版本“到生产。
您是从 Jenkins 构建中创建标签/发布吗?如果是这样,您可能可以使用 Deploy to CloudBees 构建后步骤和target/checkout/something.war
.
更一般地说,我猜你会想要编写一个脚本来使用mvn dependency:get
,然后使用 Bees SDK 来获取最新发布的工件并部署它。
我想,您想要做的是将发布工件部署到您的存储库。
简而言之,您需要做的是:
$ mvn release:prepare
$ mvn release:perform
这不是那么简单,因为您需要适当地配置您的 pom.xml 以使其正常工作。查看maven-release-plugin示例和使用页面。