配置并使用 mvn - Amazon CodeCatalyst

Amazon CodeCatalyst 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息,请参阅 如何从 CodeCatalyst 迁移

配置并使用 mvn

您可以使用 mvn 命令来运行 Maven 构建。您必须将 mvn 配置为使用程序包存储库,并提供用于身份验证的个人访问令牌(PAT)。

从 CodeCatalyst 获取依赖项

要将 mvn 配置为从 CodeCatalyst 存储库提取依赖项,您必须编辑 Maven 配置文件 settings.xml,并选择性地编辑项目的项目模型对象(POM)文件。POM 文件包含有关项目的信息以及 Maven 构建项目所需的配置信息,例如依赖项、构建目录、源目录、测试源目录、插件和目标。

使用 mvn 从 CodeCatalyst 程序包存储库获取依赖项
  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 在项目的概述页面上,选择程序包

  3. 从程序包存储库列表中,选择您的程序包存储库。

  4. 选择连接到存储库

  5. 连接到存储库对话框中,从程序包管理器客户端列表中选择 mvn

  6. 您将需要个人访问令牌(PAT)才能使用 CodeCatalyst 对 mvn 进行身份验证。如果您已有一个 PAT,则可以使用它。如果没有 PAT,您可以在此处创建一个。

    1. 选择创建令牌

    2. 选择复制以复制您的 PAT。

      警告

      关闭此对话框后,您将无法再次查看或复制您的 PAT。

  7. 将包含存储库的配置文件添加到 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>
  8. 将服务器添加到 settings.xml 文件中的服务器列表。替换以下值。

    注意

    如果通过控制台指令进行复制,则以下值将进行更新且不应更改。

    • repo_name 替换为您的 CodeCatalyst 程序包存储库名称。

    • username 替换为您的 CodeCatalyst 用户名。

    • PAT 替换为您的 CodeCatalyst PAT。

    <servers> <server> <id>repo_name</id> <username>username</username> <password>PAT</password> </server> </servers>
  9. (可选)在 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 程序包存储库安装程序包
  1. 如果尚未执行此操作,请按照从 CodeCatalyst 获取依赖项中的步骤操作,对 CodeCatalyst 程序包存储库配置 mvn

  2. 确保您的存储库已将要从中安装的网关存储库添加为上游连接。要查看添加了哪些上游源或要将网关存储库添加为上游源,请按照添加上游存储库中的说明操作。

有关从上游存储库请求程序包的更多信息,请参阅请求包含上游存储库的程序包版本

将程序包发布到 CodeCatalyst

要使用 mvn 将 Maven 程序包发布到 CodeCatalyst 存储库,您还必须编辑 ~/.m2/settings.xml 和项目 POM。

使用 mvn 将程序包发布到 CodeCatalyst 程序包存储库
  1. 通过访问 https://codecatalyst.aws/ 打开 CodeCatalyst 控制台。

  2. 在项目的概述页面上,选择程序包

  3. 从程序包存储库列表中,选择您的程序包存储库。

  4. 选择连接到存储库

  5. 连接到存储库对话框中,从程序包管理器客户端列表中选择 mvn

  6. 您将需要个人访问令牌(PAT)才能使用 CodeCatalyst 对 mvn 进行身份验证。如果您已有一个 PAT,则可以使用它。如果没有 PAT,您可以在此处创建一个。

    1. 选择创建令牌

    2. 选择复制以复制您的 PAT。

      警告

      关闭此对话框后,您将无法再次查看或复制您的 PAT。

  7. 在本地机器上使用 PAT 配置环境变量。您将在 setting.xml 文件中使用此环境变量。

    export CODECATALYST_ARTIFACTS_TOKEN=your_PAT
  8. 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>
  9. <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)
  1. 在顶部菜单栏中,选择您的个人资料徽章,然后选择我的设置

    提示

    您还可以通过转到项目或空间的成员页面,然后从成员列表中选择您的姓名,找到您的用户个人资料。

  2. PAT 名称中,为您的 PAT 输入描述性名称。

  3. 到期日期中,保留默认日期,或者选择日历图标以自定义日期。到期日期默认为从当前日期起一年后。

  4. 选择创建

    当为源存储库选择克隆存储库时,也可以创建此令牌。

  5. 将 PAT 密钥保存在安全位置。

    重要

    PAT 密钥仅显示一次。关闭窗口后将无法再检索该密钥。

发布第三方 Maven 程序包
  1. 创建 ~/.m2/settings.xml 文件并输入以下内容:

    <settings> <servers> <server> <id>repo_name</id> <username>username</username> <password>PAT}</password> </server> </servers> </settings>
  2. 运行 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 网站上的以下主题: