本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 curl 發佈
本節說明如何使用 HTTP curl 用戶端將 Maven 成品發佈至 CodeArtifact 儲存庫。如果您沒有或想要在環境中安裝 Maven 用戶端,使用 發佈成品curl會很有用。
使用 發佈 Maven 成品 curl
-
遵循中的步驟擷取 CodeArtifact 授權字符,使用 環境變數傳遞身分驗證字符並返回這些步驟。
-
使用下列
curl命令將 JAR 發佈至 CodeArtifact 儲存庫:在此程序中的每個
curl命令中,取代下列預留位置:將
my_domain取代為您的 CodeArtifact 網域名稱。以 CodeArtifact 網域擁有者的 ID 取代
111122223333。將
us-west-2取代為您 CodeArtifact 網域所在的區域。將
my_repo取代為您的 CodeArtifact 儲存庫名稱。
curl --request PUT https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/com/mycompany/app/my-app/1.0/my-app-1.0.jar\ --user "aws:$CODEARTIFACT_AUTH_TOKEN" --header "Content-Type: application/octet-stream" \ --data-binary @my-app-1.0.jar重要
您必須在
--data-binary參數的值前面加上@字元。將值放入引號時,@必須包含在引號內。 -
使用下列
curl命令將 POM 發佈至 CodeArtifact 儲存庫:curl --request PUT https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/com/mycompany/app/my-app/1.0/my-app-1.0.pom\ --user "aws:$CODEARTIFACT_AUTH_TOKEN" --header "Content-Type: application/octet-stream" \ --data-binary @my-app-1.0.pom -
此時,Maven 成品將位於您的 CodeArtifact 儲存庫中,狀態為
Unfinished。若要能夠使用套件,它必須處於Published狀態。您可以透過將maven-metadata.xml檔案UnfinishedPublished上傳至您的套件,或呼叫 UpdatePackageVersionsStatus API 來變更狀態,將套件從 移至 。-
選項 1:使用下列
curl命令將maven-metadata.xml檔案新增至您的套件:curl --request PUT https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/maven/my_repo/com/mycompany/app/my-app/maven-metadata.xml\ --user "aws:$CODEARTIFACT_AUTH_TOKEN" --header "Content-Type: application/octet-stream" \ --data-binary @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:
Published使用UpdatePackageVersionsStatusAPI 將套件狀態更新為 。aws codeartifact update-package-versions-status \ --domainmy_domain\ --domain-owner111122223333\ --repositorymy_repo\ --format maven \ --namespacecom.mycompany.app\ --packagemy-app\ --versions1.0\ --target-status Published
-
如果您只有成品的 JAR 檔案,則可以使用 將消耗性套件版本發佈至 CodeArtifact 儲存庫mvn。如果您無法存取成品的原始碼或 POM,這很有用。如需詳細資訊,請參閱 發佈第三方成品。