Amazon CodeCatalyst 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息,请参阅 如何从 CodeCatalyst 迁移。
配置并使用 mvn
您可以使用 mvn 命令来运行 Maven 构建。您必须将 mvn 配置为使用程序包存储库,并提供用于身份验证的个人访问令牌(PAT)。
从 CodeCatalyst 获取依赖项
要将 mvn 配置为从 CodeCatalyst 存储库提取依赖项,您必须编辑 Maven 配置文件 settings.xml,并选择性地编辑项目的项目模型对象(POM)文件。POM 文件包含有关项目的信息以及 Maven 构建项目所需的配置信息,例如依赖项、构建目录、源目录、测试源目录、插件和目标。
使用 mvn 从 CodeCatalyst 程序包存储库获取依赖项
-
通过访问 https://codecatalyst.aws/
打开 CodeCatalyst 控制台。 -
在项目的概述页面上,选择程序包。
-
从程序包存储库列表中,选择您的程序包存储库。
-
选择连接到存储库。
-
在连接到存储库对话框中,从程序包管理器客户端列表中选择 mvn。
-
您将需要个人访问令牌(PAT)才能使用 CodeCatalyst 对
mvn进行身份验证。如果您已有一个 PAT,则可以使用它。如果没有 PAT,您可以在此处创建一个。-
选择创建令牌。
-
选择复制以复制您的 PAT。
警告
关闭此对话框后,您将无法再次查看或复制您的 PAT。
-
-
将包含存储库的配置文件添加到
settings.xml文件。替换以下值。注意
如果通过控制台指令进行复制,则以下值将进行更新且不应更改。
-
将
space_name替换为您的 CodeCatalyst 空间名称。 -
将
proj_name替换为您的 CodeCatalyst 项目名称。 -
将
repo_name替换为您的 CodeCatalyst 程序包存储库名称。
<profiles> <profile> <id>repo_name</id> <activation> <activeByDefault>true</activeByDefault> </activation> <repositories> <repository> <id>repo_name</id> <url>https://packages.region.codecatalyst.aws/maven/space_name/proj_name/repo_name/</url> </repository> </repositories> </profile> </profiles> -
-
将服务器添加到
settings.xml文件中的服务器列表。替换以下值。注意
如果通过控制台指令进行复制,则以下值将进行更新且不应更改。
-
将
repo_name替换为您的 CodeCatalyst 程序包存储库名称。 -
将
username替换为您的 CodeCatalyst 用户名。 -
将
PAT替换为您的 CodeCatalyst PAT。
<servers> <server> <id>repo_name</id> <username>username</username> <password>PAT</password> </server> </servers> -
-
(可选)在
settings.xml文件中设置镜像,以捕获所有连接并将它们路由到您的存储库,而不是网关存储库。注意
如果通过控制台指令进行复制,则以下值将进行更新且不应更改。
-
将
space_name替换为您的 CodeCatalyst 空间名称。 -
将
proj_name替换为您的 CodeCatalyst 项目名称。 -
将
repo_name替换为您的 CodeCatalyst 程序包存储库名称。
<mirrors> <mirror> <id>repo_name</id> <name>repo_name</name> <url>https://packages.region.codecatalyst.aws/maven/space_name/proj_name/repo_name/</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors> -
重要
可以在 <id> 元素中使用任何值,但必须与 <server> 和 <repository> 元素中的值相同。这样就可以在发送到 CodeCatalyst 的请求中包括指定的凭证。
更改这些配置后,就可以构建项目了。
mvn compile
通过 CodeCatalyst 从外部程序包存储库获取程序包
您可以通过为 CodeCatalyst 存储库配置与代表网关存储库的网关的上游连接,使用 CodeCatalyst 存储库从公共存储库安装 Maven 程序包。从网关存储库安装的程序包会被摄取并存储在您的 CodeCatalyst 存储库中。
目前,CodeCatalyst 支持以下公共 Maven 程序包存储库。
-
maven-central-gateway
-
google-android-gateway
-
gradle-plugins-gateway
-
commonsware-gateway
从公共 Maven 程序包存储库安装程序包
-
如果尚未执行此操作,请按照从 CodeCatalyst 获取依赖项中的步骤操作,对 CodeCatalyst 程序包存储库配置
mvn。 -
确保您的存储库已将要从中安装的网关存储库添加为上游连接。要查看添加了哪些上游源或要将网关存储库添加为上游源,请按照添加上游存储库中的说明操作。
有关从上游存储库请求程序包的更多信息,请参阅请求包含上游存储库的程序包版本。
将程序包发布到 CodeCatalyst
要使用 mvn 将 Maven 程序包发布到 CodeCatalyst 存储库,您还必须编辑 ~/.m2/settings.xml 和项目 POM。
使用 mvn 将程序包发布到 CodeCatalyst 程序包存储库
-
通过访问 https://codecatalyst.aws/
打开 CodeCatalyst 控制台。 -
在项目的概述页面上,选择程序包。
-
从程序包存储库列表中,选择您的程序包存储库。
-
选择连接到存储库。
-
在连接到存储库对话框中,从程序包管理器客户端列表中选择 mvn。
-
您将需要个人访问令牌(PAT)才能使用 CodeCatalyst 对
mvn进行身份验证。如果您已有一个 PAT,则可以使用它。如果没有 PAT,您可以在此处创建一个。-
选择创建令牌。
-
选择复制以复制您的 PAT。
警告
关闭此对话框后,您将无法再次查看或复制您的 PAT。
-
-
在本地机器上使用 PAT 配置环境变量。您将在
setting.xml文件中使用此环境变量。export CODECATALYST_ARTIFACTS_TOKEN=your_PAT -
在
settings.xml中添加一个引用CodeCatalyst_ARTIFACTS_TOKEN环境变量的<servers>部分,以便 Maven 可在 HTTP 请求中传递令牌。<settings> ... <servers> <server> <id>repo-name</id> <username>username</username> <password>${env.CodeCatalyst_ARTIFACTS_TOKEN}</password> </server> </servers> ... </settings> -
将
<distributionManagement>部分添加到项目的pom.xml。<project> ... <distributionManagement> <repository> <id>repo_name</id> <name>repo_name</name> <url>https://packages.region.codecatalyst.aws/maven/space_name/proj_name/repo_name/</url> </repository> </distributionManagement> ... </project>
更改这些配置后,就可以开始构建项目并将项目发布到指定的存储库。
mvn deploy
您可以在 CodeCatalyst 控制台中导航到您的程序包存储库,以检查是否已成功发布程序包。
发布第三方程序包
您可以使用 mvn
deploy:deploy-file 将第三方 Maven 程序包发布到 CodeCatalyst 存储库。这对于想要发布程序包且只有 JAR 文件且无权访问程序包源代码或 POM 文件的用户很有用。
mvn deploy:deploy-file 命令会根据命令行中传递的信息生成 POM 文件。
首先,创建一个 PAT(如果您没有 PAT)。
创建个人访问令牌(PAT)
-
在顶部菜单栏中,选择您的个人资料徽章,然后选择我的设置。
提示
您还可以通过转到项目或空间的成员页面,然后从成员列表中选择您的姓名,找到您的用户个人资料。
-
在 PAT 名称中,为您的 PAT 输入描述性名称。
-
在到期日期中,保留默认日期,或者选择日历图标以自定义日期。到期日期默认为从当前日期起一年后。
-
选择创建。
当为源存储库选择克隆存储库时,也可以创建此令牌。
-
将 PAT 密钥保存在安全位置。
重要
PAT 密钥仅显示一次。关闭窗口后将无法再检索该密钥。
发布第三方 Maven 程序包
-
创建
~/.m2/settings.xml文件并输入以下内容:<settings> <servers> <server> <id>repo_name</id> <username>username</username> <password>PAT}</password> </server> </servers> </settings> -
运行
mvn deploy:deploy-file命令:mvn deploy:deploy-file -DgroupId=commons-cli \ -DartifactId=commons-cli \ -Dversion=1.4 \ -Dfile=./commons-cli-1.4.jar \ -Dpackaging=jar \ -DrepositoryId=repo-name\ -Durl=https://packages.region.codecatalyst.aws/maven/space-name/proj-name/repo-name/注意
前面的示例发布
commons-cli 1.4。修改 groupID、artifactID、version 和 file 参数来发布另一个 JAR。
这些说明基于 Apache Maven 文档的将第三方 JAR 部署到远程存储库的指导
有关更多信息,请参阅 Apache Maven Project 网站上的以下主题: