如何通过Rultor将Maven工件部署到CloudRepo

在我以前的文章中 ,我描述了如何在Amazon S3中设置私有Maven存储库并通过Rultor进行部署。 如果您熟悉管理Amazon Web Services(AWS), S3和AWS Identity and Access Management(IAM)的话,这是一个很好的解决方案。 但是,如果您不习惯管理一个AWS账户和所有相关权限,则可能希望将Apache Maven Artifacts存储在某个基于云的存储库管理器中。 这是让Rultor将Maven依赖项部署到CloudRepo的方法 。 我与创始人Chris Shellenbarger一起写了这篇博客。

存储库管理器和S3都将允许您的构建工具在远程存储库或存储桶中存储和检索软件库。 但是,存储库管理器会处理许多您需要使用S3解决方案进行管理的工作。

尽管AWS相当强大,并且可以配置为执行存储库管理器可以做的所有事情,但是当您选择完全托管的解决方案时,有些用例可以直接使用,例如:用户/组管理,Maven特定视图,Webhooks,通知,访问和审核日志,完全托管的安全性等。简单地说,它们不仅是JAR文件的存储,还包括云中的Maven存储库。

部署Maven工件

假设您已经使用CloudRepo创建了一个帐户并设置了用户和maven存储库 ,则在客户端上部署到CloudRepo需要执行两个步骤:1)使用凭据配置settings.xml文件,以及2)将存储库添加到pom.xml文件的<distributionManagement>部分。

settings.xml文件的默认位置在~/.m2目录中。 编辑此文件,并确保您具有一个<server>条目,如下所示:

 <settings> <servers> <server> <id>io.cloudrepo</id> <username>yegor256 @gmail .com</username> <password>my-secret</password> </server> </servers>  </settings> 

通过声明server并指定id ,您可以在Maven POM文件中引用该id 。 当Maven尝试针对服务器进行身份验证时,它将在settings.xml文件中寻找相应的密钥。

如果您担心将密码以明文形式存储在文件系统中,请检查Maven 建议如何解决该问题。

现在已经设置了凭据,您必须将pom.xml指向CloudRepo存储库。 将新的<repository>元素添加到pom.xml<distributionManagement> (要上传)元素和<repositories> (要下载它们):

 <project> [...] <repositories> <repository> <id>io.cloudrepo</id> <url>https: //[your-org-name].mycloudrepo.io/repositories/[your-repository-name]</url> </repository> </repositories> [...] <distributionManagement> <repository> <id>io.cloudrepo</id> <name>CloudRepo Maven Repository</name> <url>https: //[your-org-name].mycloudrepo.io/repositories/[your-repository-name]</url> </repository> </distributionManagement>  </project> 

在本地环境中运行了构建后,您需要使用Rultor将其部署到生产中。 首先,您需要将凭据存储在Git中,以便Rultor可以在构建和部署时访问它们。 但是, 绝对不要在版本控制中以明文形式存储您的凭据(用my/project替换GitHub项目的名称)是非常重要的:

 $ gem install rultor  $ rultor encrypt -p my/project settings.xml 

这将创建一个名为settings.xml.asc设置文件的加密版本。 将此文件添加到项目的根目录,然后提交并推送。 很安全 只有Rultor拥有解密此文件的密钥,因此即使您的源代码暴露给他人,您的凭据也将保持安全。

要启用Rultor,请将.rultor.yml文件添加到项目的根目录中,其中包含以下内容:

 decrypt: settings.xml: "repo/settings.xml.asc"  deploy: script: | mvn clean deploy --settings ../settings.xml 

有关.rultor.yml文件的更多信息,请检查“ Rultor参考页” 。

现在,所有内容都已配置完毕,您应该能够通过执行@rultor deploy命令使用Rultor部署到CloudRepo。 等待响应,Rultor会处理所有剩余的工作。

而已!

翻译自: https://www.javacodegeeks.com/2019/02/deploy-maven-artifacts-cloudrepo-rultor.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java里面自行车的属性_11、Java基础知识

1、安装jdk&#xff0c;配置环境变量2、public class HelloWorld{publicstatic void main(String[] args){System.out.println(‘HelloWorld’);}}3、编译过程&#xff1a;通过javac编译java文件&#xff0c;生成.class文件&#xff0c;使用java命令运行class文件&#xff0c;注…

布线问题分支限界法java_大型布线:Java云应用程序缺少的技术

布线问题分支限界法java您是否曾经想过&#xff0c;为什么大多数Java框架中的依赖项注入仅用于本地进程内服务而不是分布式服务&#xff1f; 我最近在2013年EMC世界大会上遇到了Paul Maritz的主题演讲 &#xff08;跳至第32分钟&#xff09;&#xff0c;这使我在云平台的背景下…

Spring Boot微服务,Docker和Kubernetes研讨会–第2部分

在上一篇文章中&#xff0c;我们使用SpringBoot和Docker创建了第一个微服务“ ProductService”。 在这一部分中&#xff0c;我们将详细介绍如何使用Spring Cloud&#xff0c;netflix库&#xff0c;API网关来管理多个微服务。 假设对于我们的订单管理系统&#xff0c;最小关系…

jboss5.1安全性配置_使用Java EE安全性和JBoss AS 7.x保护JSF应用程序的安全

jboss5.1安全性配置企业应用程序的一个常见要求是在登录页面后面保护所有JSF页面。 有时&#xff0c;您甚至希望在应用程序内部具有保护区&#xff0c;只有拥有特定角色的用户才能访问这些保护区。 Java EE标准附带了实现受某些安全性约束保护的Web应用程序所需的所有方法。 在…

分布式事务 camel_使用Camel在Amazon上构建分布式工作流应用程序

分布式事务 camel带有SNS-SQS的管道 工作流由以动态条件确定的特定顺序执行的独立任务组成。 工作流通常代表业务流程&#xff0c;例如电子商务商店中的订单处理步骤。 Amazon Web Services提供了用于构建分布式和可伸缩工作流应用程序的各种工具。 构建此类应用程序的一种方法…

比较Java REST文档框架

确定在记录REST API时选择哪种Java框架可能很麻烦。 在本博文中&#xff0c;我们将简要比较我们自己使用的REST Web服务的三种文档框架&#xff0c;以及它们如何与Spring框架&#xff08;这是Foreach最常使用的Java框架&#xff09;集成。 这些是RESTful API建模语言&#xff0…

jaVa游戏三国志英杰传,《三国志英杰传》到底是怎样的一款游戏

原标题&#xff1a;《三国志英杰传》到底是怎样的一款游戏介绍作为PC平台上经典的战棋策略类游戏&#xff0c;英杰传系列可谓把这一类型游戏在战略性和资源获取上的精髓发挥的淋漓尽致。系列初代的《三国志英杰传》诞生在1995年的DOS系统上&#xff0c;虽然我接触英杰传时已经是…

jvm 内存镜像_镜像镜像–使用反射在运行时查看JVM内部

jvm 内存镜像开发人员&#xff1a;Takipi会告诉您何时新代码在生产中中断– 了解更多 我们都习惯于在我们的日常工作中直接或通过利用反射的框架来运用反射。 它是Java和Scala编程的主要方面&#xff0c;它使我们使用的库可以与我们的代码进行交互&#xff0c;而无需对其进行硬…

谁去过顽皮,谁去过尼斯? 圣诞老人为您提供Java 11建议!

有没有想过圣诞老人如何为世界各地的孩子们送上节日礼物&#xff1f; 有20亿个孩子&#xff0c;每个孩子都有自己的愿望清单&#xff0c;他会在24小时内完成。 这意味着每个孩子平均需要43微秒&#xff0c;他需要检查每个孩子是否顽皮或好。 您无需再怀疑了。 我会透露这个秘密…

php时间格式函数,PHP函数之日期时间函数date()使用详解_php基础_脚本

$ttime();echo date("Y-m-d H:i:s",$t);第一个参数的格式分别表示:a - "am" 或是 "pm"A - "AM" 或是 "PM"d - 几日&#xff0c;二位数字&#xff0c;若不足二位则前面补零; 如: "01" 至 "31"D - 星期几…

play框架配置 拦截器_如何使用Play框架为https配置SSL证书

play框架配置 拦截器我花了几个小时试图使它起作用&#xff0c;最后&#xff0c;问题是我自己没有使用keytool生成CSR&#xff08;证书请求&#xff09;。 当我尝试通过https访问Play时&#xff0c;我一直收到此错误&#xff1a; javax.net.ssl.SSLPeerUnverifiedException&a…

matlab 球坐标绘图,MATLAB绘制地图

1使用向量绘制地图1.1绘制全球海岸线向量数据可以表示一个地图。这种向量存在的形式是一系列的经纬度或投影坐标对&#xff0c;它们代表一个点集、一个线条或者多边形。例如&#xff0c;描绘出行政区域边界的点、公路系统、城市的中心或者以上三个集合放在一起&#xff0c;都可…

php 有 stringbuffer,String、StringBuffer、StringBulider三者介绍

三者都实现了CharSequence接口&#xff0c;因此CharSequence可认为是一个字符串的协议接口1.String类是不可变类&#xff0c;即一旦一个String对象被创建后&#xff0c;包含在这个对象中的字符序列是不可改变的&#xff0c;直至这个对象被销毁&#xff1b;我们常常定义的时候 S…

php生成网页按钮,JavaScript实现自动生成网页元素功能(按钮、文本等)_javascript技巧...

创建元素的方法&#xff1a;1、利用createTextNode()创建一个文本对象2、利用createElement()创建一个标签对象3、直接利用容器标签中的一个属性&#xff1a;innerHTML-----本质上改该标签容器中的“html代码”&#xff0c;不是我们认为的对象树的操作详解代码&#xff1a;这是…

adf 自动输稿器_在ADF实体PK属性中使用MySQL自动增量PK列

adf 自动输稿器大家好。 继续进行ADF MySQL解决方法系列&#xff0c;今天我们将看到需要做些什么才能将MySQL PK自动增量列与ADF实体PK属性一起使用。 如果使用的是Oracle数据库&#xff0c;则可以使用oracle.jbo.domain.DBSequence以及序列和触发器来立即进行操作。 为简单起…

探索适用于Apache Spark的Spline Data Tracker和可视化工具(第1部分)

最近引起我注意的一个有趣且充满希望的开源项目是Spline &#xff0c;它是由Absa维护的Apache Spark的数据沿袭跟踪和可视化工具。 该项目由两部分组成&#xff1a;一个在驱动程序上工作的Scala库&#xff0c;该驱动程序通过分析Spark执行计划来捕获数据沿袭&#xff0c;并提供…

高性能mysql 聚簇索引,高性能MySQL笔记-第5章Indexing for High Performance-005聚集索引...

一、聚集索引介绍1.什么是聚集索引&#xff1f;InnoDB’s clustered indexes actually store a B-Tree index and the rows together in the same structure.2.为什么一张表只能一个聚集索引&#xff1f;When a table has a clustered index, its rows are actually stored in …

PHP应用GD2函数填充几何图形,使用GD2函数绘制几何图形(PHP图形图像的典型应用教程4)...

使用GD2函数绘制几何图形(PHP图形图像的典型应用教程4)本篇主要讲解使用GD2函数实现几何图形的绘制&#xff0c;首先我们需要的事创建一个图像&#xff0c;在之前的文章中我们就说过了&#xff0c;创建图像是所有图像操作的第一步&#xff0c;然后再背景上根据坐标点绘制图形轮…

API测试和自动化101:基本指南

API代表A pplication P AGC软件我覆盖整个院落。 通常&#xff0c;API用于通过使用任何通信方式来促进两个不同应用程序之间的交互。 在网络上使用API​​时&#xff0c;我们将其称为“ Web服务”。 最近&#xff0c;API已成为编程的Struts。 与在应用程序中一样&#xff0c;编…

oracle数据库安装HotSpot,安装Oracle数据库软件遭遇诡异的HotSpot Virtual Machine Error : 11报错...

虽然也装了很多次的数据库了&#xff0c;可是偶尔还是会碰见一些很无语的错误&#xff0c;前两天在RHEL5.0上安装Oracle 10g 10.2.0.1&#xff0c;起图形后点击下虽然也装了很多次的数据库了&#xff0c;可是偶尔还是会碰见一些很无语的错误&#xff0c;前两天在RHEL5.0上安装O…