此部分介绍如何使用 HTTP 客户端 curl
将 Maven 程序包发布到 CodeCatalyst 程序包存储库。如果您的环境中没有 Maven 客户端或想要安装 Maven 客户端,则使用 curl
发布程序包会很有用。
使用 curl
发布 Maven 程序包
-
您必须将个人访问令牌(PAT)存储在环境变量中,才能使用 CodeCatalyst 对
curl
进行身份验证。如果您已有一个 PAT,则可以使用它。如果没有 PAT,则可以创建一个 PAT 并配置环境变量。-
请按照使用个人访问令牌向用户授予对存储库的访问权限中的步骤操作来创建 PAT。复制 PAT 以将其存储在环境变量中。
-
在本地机器的命令行上,使用 PAT 配置环境变量。
export CodeCatalyst_ARTIFACTS_TOKEN=
your_PAT
-
-
使用以下
curl
命令将 JAR 发布到 CodeCatalyst 存储库。将username
、space_name
、proj_name
和repo_name
替换为您的 CodeCatalyst 用户名、空间名称、项目名称和程序包存储库名称。curl --request PUT https://packages.
region
.codecatalyst.aws/maven/space-name
/proj-name
/repo-name
/com
/mycompany
/app
/my-app
/1.0
/my-app-1.0.jar
\ --user "username
:CodeCatalyst_ARTIFACTS_TOKEN" --header "Content-Type: application/octet-stream" \ --data-binary @target/path
/to
/my-app-1.0.jar
-
使用以下
curl
命令将 POM 发布到 CodeCatalyst 存储库。将username
、space_name
、proj_name
和repo_name
替换为您的 CodeCatalyst 用户名、空间名称、项目名称和程序包存储库名称。curl --request PUT https://packages.
region
.codecatalyst.aws/maven/space-name
/proj-name
/repo-name
/com
/mycompany
/app
/my-app
/1.0
/my-app-1.0.pom
\ --user "username
:CodeCatalyst_ARTIFACTS_TOKEN" --header "Content-Type: application/octet-stream" \ --data-binary @target/my-app-1.0.pom
-
此时,Maven 程序包将位于您的 CodeCatalyst 存储库中,状态为
Unfinished
。为了能够使用程序包,程序包必须处于Published
状态。您可以通过将maven-metadata.xml
文件上传到程序包或在 CodeCatalyst 控制台中更改状态来将程序包从Unfinished
移至Published
。-
选项 1:使用以下
curl
命令将maven-metadata.xml
文件添加到您的程序包中。将username
、space_name
、proj_name
和repo_name
替换为您的 CodeCatalyst 用户名、空间名称、项目名称和程序包存储库名称。curl --request PUT https://packages.
region
.codecatalyst.aws/maven/space-name
/proj-name
/repo-name
/com
/mycompany
/app
/my-app
/maven-metadata.xml
\ --user "username
:CodeCatalyst_ARTIFACTS_TOKEN" --header "Content-Type: application/octet-stream" \ --data-binary @target/maven-metadata.xml
以下是
maven-metadata.xml
文件的内容示例:<metadata modelVersion="1.1.0"> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <versioning> <latest>1.0</latest> <release>1.0</release> <versions> <version>1.0</version> </versions> <lastUpdated>20200731090423</lastUpdated> </versioning> </metadata>
-
选项 2:在 CodeCatalyst 控制台中将程序包状态更新为
Published
。有关如何更新程序包版本的状态的信息,请参阅更新程序包版本的状态。
-
如果您只有程序包的 JAR 文件,则可以使用 mvn
将可使用的程序包版本发布到 CodeCatalyst 存储库。如果您无法访问程序包的源代码或 POM,此方法会很有用。有关详细信息,请参阅发布第三方程序包。